Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nasm: updated to 2.16.03 #147

Open
wants to merge 10,000 commits into
base: trunk
Choose a base branch
from
Open

nasm: updated to 2.16.03 #147

wants to merge 10,000 commits into from

Conversation

tempcracks
Copy link

C.1.1 Version 2.16.03

This is a source build machinery and documentation update only. There are no functionality changes.

Fix building from git in a separate directory from the source.

Remove some irrelevant files from the source distribution.

Make the documentation stronger that -O0 or -O1 are probably not what the user wants. See section 2.1.24.

Fix configure --enable-lto build option.

Update the included RPM .spec file.

C.1.2 Version 2.16.02

Fix building from the source distribution in a separate directory from the source.

Fix a number of issues when building from source, mostly involving configure or dependency generation.

In particular, more aggressively avoid cross-compilation problems on Unix/Linux systems automatically invoking WINE. We could end up invoking WINE even when we didn't want to, making configure think it was running native when in fact cross-compiling.

Hopefully fix compiling with the latest versions of MSVC/nmake.

Windows host: add embedded manifest file. Without a manifest, Windows applications force a fixed PATH_MAX limit to any pathname; this is unnecessary.

Add support VEX-encoded SM4-NI instructions.

Add support for VEX-encoded SM3-NI instructions.

Add support for VEX-encoded SHA512-NI instructions.

PTWRITE opcode corrected (F3 prefix required.)

Disassembler: the SMAP instructions are NP; notably the prefixed versions of CLAC are ERETU/ERETS.

Add support for Flexible Return and Exception Delivery (FRED): the LKGS, ERETS and ERETU instructions.

Fix external references to segments in the obj (OMF) and possibly other output formats.

Always support up to 8 characters, i.e. 64 bits, in a string-to-numeric conversion.

Preprocessor: add %map() function to expand a macro from a list of arguments, see section 4.4.7.

Preprocessor: allow the user to specify the desired radix for an evaluated parameter. It doesn't make any direct difference, but can be nice for debugging or turning into strings. See the = modifier in section 4.2.1.

Update documentation: __USE_package__ is now __?USE_package?__.

Documentation: correct a minor problem in the expression grammar for Dx statements, see section 3.2.1.

Preprocessor: correctly handle empty %rep blocks.

Preprocessor: add options for a base prefix to %num(), see section 4.4.8.

Preprocessor: add a %hex() function, equivalent to %eval() except that it producess hexadecimal values that are nevertheless valid NASM numeric constants, see section 4.4.5.

Preprocessor: fix the parameter number in error messages (should be 1-based, like %num references to multi-line macro arguments.)

Documentation: be more clear than the bin format is simply a linker built into NASM. See section 8.1.

Adjust the LOCK prefix warning for XCHG.

LOCK XCHG reg,mem would issue a warning for being unlockable, which is incorrect. In this case the reg,mem encoding is simply an alias for the mem,reg encoding. However, XCHG is always locked, so create a new warning (-w+prefix-lock-xchg) to explicitly flag a user-specified LOCK XCHG; default off. Future versions of NASM may remove the LOCK prefix when optimization is enabled.

Fix broken dependency-list generation.

Add optional warnings for specific relocation types (-w+reloc-*, see appendix A), default off.

Some target environments may have specific restrictions on what kinds of relocations are possible or allowed.

Error out on certain bad syntax in Dx statements, such as db 1 2. See section 3.2.1.

bacon and others added 30 commits July 27, 2024 12:23
According to email from upstream, 6.4.4's "stealth" off-by-default
feature fixes that problem.
1.43     2024-07-27

- Fixed the prefers_24_hour_time method. This was incorrectly returning false when the locale's
  time_format_short method contained a quote string with "h" or "K" in it. For example, the fr-CA
  locale's time_format_short is `HH 'h' mm`. The quoted 'h' caused this method to return
  false. Fixed by Jacques Deguest (@jackdeguest). PR NetBSD#39.
0.24    2024-07-23
        [BUGFIXES]
         * Workaround for Perl 5.32.1's buggy `isa` operator that breaks the
           isa cache
0.08    2024-07-24
        [CHANGES]
         * Support the new `link` Formatting tag by emitting OSC 8 sequences
v23.3.0
Features
 - pwsh: pass original last execution status to Set-PoshContext for use in pwsh alias (a43f57d)

v23.2.1
Bug Fixes
 - zsh: work around bugs when used with zsh-syntax-highlighting (b4e19ad)

v23.2.0
Features
 - kubectl: add cache to kubectl (576ec37)

v23.1.0
Features
 - git: mapped branches (7a64782), closes #4979

v23.0.2
Bug Fixes
 - git: more robust worktree identification (3fddcac), closes #5343
 - git: resolve bare repo pointer (1c908a8)
+ grafana-11.1.3, grpc-1.65.2, libheif-1.18.1, meson-1.5.1,
  py-alabaster-1.0.0, py-annotated-types-0.7.0,
  py-google-api-python-client-2.138.0, py-importlib-metadata-8.2.0,
  py-numpy-2.0.1, py-packageurl-0.15.6, py-pillow_heif-0.18.0,
  py-posting-1.9.3, py-pyperclip-1.9.0, py-ruff-0.5.5,
  py-sphinx-autoapi-3.2.1, py-textual-0.74.0,
  py-textual-autocomplete-3.0.0a9, tigervnc-1.14.0, tree-sitter-php-0.22.8.
WAT is a powerful inspection tool that allows you to delve into
and examine unknown objects at runtime.

If you find yourself deep within the Python console, feeling dazed
and confused, wondering "WAT? What's that thing?", that's where
the `wat` inspector comes in handy.
Changes:
## v4.1

- Add Python 3.12 support

## v4.0.1

- Bug fixes

## v4.0

- Drop Python 3.9 support
- Several improvements
- Bug fixes

## v3.3

- Change default config to use journal key
- Add machine readable --list output
- Bug fixes

## v3.2

- Suppress "Entry added" message if using default journal
- Add message showing the number of search results

## v3.1

- Add linewrap option 'auto'
- Bug fixes

## v3.0

- Drop support for Python 3.7 and 3.8
- Show name of journal when creating a password/encrypting
- Rework how all output and messaging works in jrnl
- Implement --change-time flag
- Bug fixes

## v2.8.4

- Add hash as a default tag symbol for new jrnl config file
- Add --config-file argument to use alternate config file at runtime
- Bug fixes

## v2.8.3

- Bug fixes

## v2.8.2

- Misc improvements

## v2.8.1

- Bug fixes

## v2.8

- Add `--config-override` feature
- Bug fixes

## v2.7.1

- Bug fixes

## v2.7

- Add new date format (`--format date`) for heatmapping
- Add new `-today-in-history`, `-month`, `-day`, and `-year` search filters
- Allow custom extensions when editing (for easier syntax highlighting)
- Bug fixes

## v2.6

- Add ability to put --edit partly through a cli entry to move it to the editor
- Allow --edit flag partway through an entry
- Bug fixes

## v2.5

- Deprecate Python 3.6
- Add support for Python 3.9
- Implement arg parsing library
- Rename `--export` to `--format` and `--export -o` to `--format --file`
- Pull functionality out of util.py
- Support -not for individual @tag in the command line
- Add punctuation more commonly used in Asian languages (ellipsis) to sentence parsing
- Clean up help screen, get rid of util.py
- Bug fixes

## v2.4.5

- Bug fixes

## v2.4.4

- Misc improvements and bug fixes

## v2.4.3

- Speed up jrnl by 10%, improve slow imports
- Bug fixes

## v2.4.2

- Bug fixes

## v2.4.1

- Bug fixes

## v2.4

- Misc improvements and bug fixes

## v2.2

- Full text search (case insensitive) with "-contains"
- Reduce startup time by 55%
- Refactor password logic to prevent accidental password leakage
- Password confirmation
- Bug fixes

## v2.1.1

- Support Python 3.6+
- Drop Python 2 support
- Bug fixes

## v2.1.post2

- Bug fixes

## v2.0.1

- Switch to hashmark Markdown headers on export (Mk II)
- Add '-not' flag for excluding tags from filter
- Handle KeyboardInterrupt when installing journal
- Bug fixes

## v2.0.0

- Change cryptographic backend from PyCrypto to cryptography.io
- Config now respects XDG conventions and may move accordingly
- Config name changed from `journals.jrnl_name.journal` to
  `journals.jrnl_name.path`
- Bug fixes
Changes:
v0.67.0
This release contains a mix of features, a new builtin function
(`strings.count`), performance improvements, and bugfixes.

### Breaking Change
#### Request Body Size Limits

OPA now automatically rejects very large requests.
Requests with a `Content-Length` larger than 128 MB uncompressed, and
gzipped requests with payloads that decompress to larger than 256 MB
will be rejected, as part of hardening OPA against denial-of-service
attacks. Previously, a large enough request could cause an OPA instance
to run out of memory in low-memory sidecar deployment scenarios, just
from attempting to read the request body into memory.

These changes allow improvements in memory usage for the OPA HTTP
server, and help OPA deployments avoid some accidental out-of-memory
situations.

For most users, no changes will be needed to continue using OPA.
However, to control this behavior, two new configuration keys are
available: `server.decoding.max_length` and
`server.decoding.gzip.max_length`. These control the max size in bytes
to allow for an incoming request payload, and the maximum size in bytes
to allow for a decompressed gzip request payload, respectively.
Incremental 24.7.1 (2024-07-27)

Bugfixes

- Incremental 24.7.0 would produce an error when parsing the ``pyproject.toml`` of a project that lacked the ``use_incremental=True`` or ``[tool.incremental]`` opt-in markers if that file lacked a ``[project]`` section containing the package name. This could cause a project that only uses ``pyproject.toml`` to configure tools to fail to build if Incremental is installed. Incremental now ignores such projects.


Incremental 24.7.0 (2024-07-25)

Features

- Incremental can now be configured using ``pyproject.toml``.
- Incremental now provides a read-only `Hatchling version source plugin <https://hatch.pypa.io/latest/plugins/version-source/reference/>`_.

Bugfixes

- Incremental no longer inserts a dot before the rc version component (i.e., ``1.2.3rc1`` instead of ``1.2.3.rc1``), resulting in version numbers in the `canonical format <https://packaging.python.org/en/latest/specifications/version-specifiers/#public-version-identifiers>`__.
- Incremental's tests are now included in the sdist release artifact.

Deprecations and Removals

- ``incremental[scripts]`` no longer depends on Twisted.
- Support for Python 2.7 has been dropped for lack of test infrastructure. We no longer provide universal wheels.
- Support for Python 3.5, 3.6, and 3.7 has been dropped for lack of test infrastructure.
0.5.5

Preview features

[fastapi] Implement fastapi-redundant-response-model (FAST001) and fastapi-non-annotated-dependency(FAST002)
[pydoclint] Implement docstring-missing-exception (DOC501) and docstring-extraneous-exception (DOC502)

Rule changes

[numpy] Fix NumPy 2.0 rule for np.alltrue and np.sometrue
[numpy] Ignore NPY201 inside except blocks for compatibility with older numpy versions
[pep8-naming] Avoid applying ignore-names to self and cls function names (N804, N805)

Formatter

Fix incorrect placement of leading function comment with type params

Server

Do not bail code action resolution when a quick fix is requested

Bug fixes

Fix Ord implementation of cmp_fix
Raise syntax error for unparenthesized generator expression in multi-argument call
[pydoclint] Fix panic in DOC501 reported
[flake8-bugbear] Allow singleton tuples with starred expressions in B013

Documentation

Add Eglot setup guide for Emacs editor
Add note about the breaking change in nvim-lspconfig
Add note to include notebook files for native server
Add setup docs for Zed editor
Changes:
v0.55.0
- Update to OPA 0.67.0
- Misc bug fixes and updates
This releases fixes the syntax of the vvcC box and a few build issues.
:git_tag:`1.0.0` -- 2024-07-26
------------------------------

- Dropped support for Python 3.9 and earlier.
- Dropped support for Sphinx 6.1 and earlier.
- Use a new SVG image for the GitHub banner.
- :feature:`217` Use the new *searchfield* component for the search box.
  Patch by Tim Hoffmann.
- :feature:`104` Allow translating strings in ``relations.html``.
- 🐛`125` Do not underline linked images.
   Patch by Joshua Bronson.
- 🐛`169` Do not ignore the Pygments background colour.
  Patch by Matthias Geier.
- 🐛`174` Fix clipping caused by incorrect CSS breakpoints.
Changes not found.
@tempcracks
Copy link
Author

yes,it's just that i was so lost, and i thought it would be more convenient to go back and now I'd do force-push,sorry

adam and others added 20 commits July 31, 2024 08:02
Changes in 8.9.1

Bugfixes:

cmake: detect `libssh` via `pkg-config`
cmake: detect `nettle` when building with GnuTLS
cmake: drop `if(PKG_CONFIG_FOUND)` guard for `pkg_check_modules()`
configure: limit `__builtin_available` test to Darwin
connect: fix connection shutdown for event based processing
contrithanks.sh: use -F with -v to match lines as strings
curl: more defensive socket code for --ip-tos
CURLOPT_SSL_CTX_FUNCTION.md: mention CA caching
CURLSHOPT_SHARE.md: mention sessions/cookies as not thread-safe
example/multi-uv: remove the use of globals
ftpserver.pl: make POP3 LIST serve content from the test file
GHA/windows: increase timeout for vcpkg build step
lib: survive some NULL input args
macos: fix Apple SDK bug workaround for non-macOS targets
misc: cleanup after removing years from copyright
os400: build cli manual.
os400: workaround an IBM ASCII run-time library bug
RELEASE-PROCEDURE.md: remove the initial build step
runtests: fold timing details with GHA, sync `-r` tflags
tests: provide FTP directory contents in the test file
tidy-up: URL updates
TODO: thread-safe sharing
transfer: speed limiting fix for 32bit systems
vtls: avoid forward declaration in MultiSSL builds
wolfSSL: allow wolfSSL's implementation of kyber to be used
wolfssl: avoid calling get_cached_x509_store if store is uncachable
wolfssl: CA store share fix
x509asn1: unittests and fixes for gtime2str
dpkg (1.22.10) unstable; urgency=medium

  [ Guillem Jover ]
  * Perl modules:
    - Dpkg::Changelog::Entry::Debian: Remove obsolete /o modifier from regex.
    - Dpkg::Changelog: Remove useless escaping for -.
  * Make fragments:
    - Revert "scripts/mk: Reduce the number of subprocesses".
  * Build system:
    - Do not define macros for C/C++ standard level.
    - Use pre-defined macros to check C/C++ conformance requirements.
    - Fix length for comment bar line after autoconf functions.
    - Fix dpkg_cv_c99 assignment in DPKG_C_C99 macro.
    - Simplify C standard check output.


dpkg (1.22.9) unstable; urgency=medium

  [ Guillem Jover ]
  * dpkg-deb: Add long options for short-only compression ones.
  * dpkg-deb: Print pathname instead of filename and directory in error output.
  * start-stop-daemon: Use a stop context to track the current state.
  * Make fragments:
    - Fix pkg-info.mk evaluation by adding new DEB_TIMESTAMP variable.
  * Code internals:
    - dpkg-deb: Track maintscript information in a new struct.
  * Test suite:
    - Fix typos in Makefile comments.
1) Turn off the use ot thread local storage on NetBSD/aarch64,
   due to NetBSD PR#58154 and our desire to support systems
   built before the fix was applied.
2) Use the fixed 1.78.0 bootstrap for NetBSD/aarch64 (which
   is now built with the workaround from NetBSD#1 applied).
3) Reinstate the patches to the openssl-sys and openssl-src
   vendor crates, and their checksum fixes, taken from pkgsrc-wip
   rust 1.78.0 and adapted.
4) Make the NetBSD/sparc64 target spec more similar to the other
   sparc64 targets.  Does not resolve the cross-build problem, sadly.
2.9 (2024-07-25)

* Add support for Django 4.2 storages (mandatory in Django 5.1).
pytest 8.3.2 (2024-07-24)
Bug fixes
Resolve regression conda environments where no longer being automatically detected.
v0.19.1

Make Python versions in GitHub Actions consistent
24.2 (2024-07-28)

Deprecations and Removals

Deprecate pip install --editable falling back to setup.py develop when using a setuptools version that does not support PEP 660 (setuptools v63 and older).

Features

Check unsupported packages for the current platform.
Use system certificates and certifi certificates to verify HTTPS connections on Python 3.10+. Python 3.9 and earlier only use certifi.
To revert to previous behaviour, pass the flag --use-deprecated=legacy-certs.

Improve discovery performance of installed packages when the importlib.metadata backend is used to load distribution metadata (used by default under Python 3.11+).
Improve performance when the same requirement string appears many times during resolution, by consistently caching the parsed requirement string.
Minor performance improvement of finding applicable package candidates by not repeatedly calculating their versions
Disable pip’s self version check when invoking a pip subprocess to install PEP 517 build requirements.
Improve dependency resolution performance by caching platform compatibility tags during wheel cache lookup.
wheel is no longer explicitly listed as a build dependency of pip. setuptools injects this dependency in the get_requires_for_build_wheel() hook and no longer needs it on newer versions.
Ignore --require-virtualenv for pip check and pip freeze
Improve package download and install performance.
Increase chunk sizes when downloading (256 kB, up from 10 kB) and reading files (1 MB, up from 8 kB). This reduces the frequency of updates to pip’s progress bar.

Improve pip install performance.
Files are now extracted in 1MB blocks, or in one block matching the file size for smaller files. A decompressor is no longer instantiated when extracting 0 bytes files, it is not necessary because there is no data to decompress.

Bug Fixes

Set no_color to global rich.Console instance.
Fix resolution to respect --python-version when checking Requires-Python.
Perform hash comparisons in a case-insensitive manner.
Avoid dlopen failure for glibc detection in musl builds
Avoid keyring logging crashes when pip is run in verbose mode.
Fix finding hardlink targets in tar files with an ignored top-level directory.
Improve pip install performance by only creating required parent directories once, instead of before extracting every file in the wheel.
Improve pip install performance by calculating installed packages printout in linear time instead of quadratic time.

Vendored Libraries

Remove vendored tenacity.
Update the preload list for the DEBUNDLED case, to replace pep517 that has been renamed to pyproject_hooks.
Use tomllib from the stdlib if available, rather than tomli
Upgrade certifi to 2024.7.4
Upgrade platformdirs to 4.2.2
Upgrade pygments to 2.18.0
Upgrade setuptools to 70.3.0
Upgrade typing_extensions to 4.12.2

Improved Documentation

Correct —-ignore-conflicts (including an em dash) to --ignore-conflicts.
v3.8.0

* Bug fix
  * Ensure cost is accounted for when testing conditional limits
1.5.2 (2024-07-24)

Bug fixes
* Include tests (and docs) and sdist correctly, and stop installing them to site-packages.

Other changes
*  Add support for Python 3.12.

1.5.1 (2024-07-23)

Other changes
* Changed pytest entrypoint to avoid error while loading plugin with `-p` argument.
* Add `tests` directory to sdist.
This library exists to allow connecting with Happy Eyeballs when you already
have a list of addrinfo and not a DNS name.
Show where your regex match assertion failed!
3.10.0 (2024-07-30)

Bug fixes

- Fixed server response headers for ``Content-Type`` and ``Content-Encoding`` for
  static compressed files

  Server will now respond with a ``Content-Type`` appropriate for the compressed
  file (e.g. ``"application/gzip"``), and omit the ``Content-Encoding`` header.
  Users should expect that most clients will no longer decompress such responses
  by default.

- Fixed duplicate cookie expiration calls in the CookieJar implementation
- Adjusted ``FileResponse`` to check file existence and access when preparing the response

  The :py:class:`~aiohttp.web.FileResponse` class was modified to respond with
   403 Forbidden or 404 Not Found as appropriate.  Previously, it would cause a
   server error if the path did not exist or could not be accessed.  Checks for
   existence, non-regular files, and permissions were expected to be done in the
   route handler.  For static routes, this now permits a compressed file to exist
   without its uncompressed variant and still be served.  In addition, this
   changes the response status for files without read permission to 403, and for
   non-regular files from 404 to 403 for consistency.

- Fixed ``AsyncResolver`` to match ``ThreadedResolver`` behavior

  On system with IPv6 support, the :py:class:`~aiohttp.resolver.AsyncResolver` would not fallback
  to providing A records when AAAA records were not available.
  Additionally, unlike the :py:class:`~aiohttp.resolver.ThreadedResolver`, the :py:class:`~aiohttp.resolver.AsyncResolver`
  did not handle link-local addresses correctly.

  This change makes the behavior consistent with the :py:class:`~aiohttp.resolver.ThreadedResolver`.

- Fixed ``ws_connect`` not respecting `receive_timeout`` on WS(S) connection.
- Removed blocking I/O in the event loop for static resources and refactored
  exception handling

  File system calls when handling requests for static routes were moved to a
  separate thread to potentially improve performance. Exception handling
  was tightened in order to only return 403 Forbidden or 404 Not Found responses
  for expected scenarios; 500 Internal Server Error would be returned for any
  unknown errors.


Features

- Added a Request.wait_for_disconnection() method, as means of allowing request handlers to be notified of premature client disconnections.
- Added 5 new exceptions: :py:exc:`~aiohttp.InvalidUrlClientError`, :py:exc:`~aiohttp.RedirectClientError`,
  :py:exc:`~aiohttp.NonHttpUrlClientError`, :py:exc:`~aiohttp.InvalidUrlRedirectClientError`,
  :py:exc:`~aiohttp.NonHttpUrlRedirectClientError`

  :py:exc:`~aiohttp.InvalidUrlRedirectClientError`, :py:exc:`~aiohttp.NonHttpUrlRedirectClientError`
  are raised instead of :py:exc:`ValueError` or :py:exc:`~aiohttp.InvalidURL` when the redirect URL is invalid. Classes
  :py:exc:`~aiohttp.InvalidUrlClientError`, :py:exc:`~aiohttp.RedirectClientError`,
  :py:exc:`~aiohttp.NonHttpUrlClientError` are base for them.

  The :py:exc:`~aiohttp.InvalidURL` now exposes a ``description`` property with the text explanation of the error details.

- Added a feature to retry closed connections automatically for idempotent methods.
- Implemented filter_cookies() with domain-matching and path-matching on the keys, instead of testing every single cookie.
  This may break existing cookies that have been saved with `CookieJar.save()`. Cookies can be migrated with this script::

      import pickle
      with file_path.open("rb") as f:
          cookies = pickle.load(f)

      morsels = [(name, m) for c in cookies.values() for name, m in c.items()]
      cookies.clear()
      for name, m in morsels:
          cookies[(m["domain"], m["path"].rstrip("/"))][name] = m

      with file_path.open("wb") as f:
          pickle.dump(cookies, f, pickle.HIGHEST_PROTOCOL)

- Separated connection and socket timeout errors, from ServerTimeoutError.
- Implemented happy eyeballs
- Added server capability to check for static files with Brotli compression via a ``.br`` extension

Removals and backward incompatible breaking changes

- The shutdown logic in 3.9 waited on all tasks, which caused issues with some libraries.
  In 3.10 we've changed this logic to only wait on request handlers. This means that it's
  important for developers to correctly handle the lifecycle of background tasks using a
  library such as ``aiojobs``. If an application is using ``handler_cancellation=True`` then
  it is also a good idea to ensure that any :func:`asyncio.shield` calls are replaced with
  :func:`aiojobs.aiohttp.shield`.

Improved documentation

- Added documentation for ``aiohttp.web.FileResponse``.
- Improved the docs for the `ssl` params.

Contributor-facing changes

- Enabled HTTP parser tests originally intended for 3.9.2 release

Miscellaneous internal changes

- Improved URL handler resolution time by indexing resources in the UrlDispatcher.
  For applications with a large number of handlers, this should increase performance significantly.
- Added `nacl_middleware <https://github.com/CosmicDNA/nacl_middleware>`_ to the list of middlewares in the third party section of the documentation.
- Minor improvements to static typing
- Added a 3.11-specific overloads to ``ClientSession``
- Simplified path checks for ``UrlDispatcher.add_static()`` method
- Avoided creating a future on every websocket receive
- Updated identity checks for all ``WSMsgType`` type compares
- When using Python 3.12 or later, the writer is no longer scheduled on the event loop if it can finish synchronously. Avoiding event loop scheduling reduces latency and improves performance.
- Restored :py:class:`~aiohttp.resolver.AsyncResolver` to be the default resolver.
0.9.0
Unknown changes
netbsd-srcmastr pushed a commit that referenced this pull request Sep 19, 2024
This is a point release intended to clear up a couple of CVEs and
apply point fixes that have been accumulating since 5.2.1

There are a few unresolved (but minor) memory leaks related to design
issues in the API that still need to be resolved. Expect those fixes
in the next release.

Code Fixes
----------

* Fixes for CVE-2023-48161, CVE-2022-28506,

* Address SF issue #138 Documentation for obsolete utilities still installed

* Address SF issue #139: Typo in "LZW image data" page ("110_2 = 4_10")

* Address SF issue #140: Typo in "LZW image data" page ("LWZ")

* Address SF issue #141: Typo in "Bits and bytes" page ("filed")

* Note as already fixed SF issue #143: cannot compile under mingw

* Address SF issue #144: giflib-5.2.1 cannot be build on windows and other platforms using c89

* Address SF issue #145: Remove manual pages installation for binaries that are not installed too

* Address SF issue #146: [PATCH] Limit installed man pages to binaries, move giflib to section 7

* Address SF issue #147 [PATCH] Fixes to doc/whatsinagif/ content

* Address SF issue #148: heap Out of Bound Read in gif2rgb.c:298 DumpScreen2RGB

* Declared no-info on SF issue #150: There is a denial of service vulnerability in GIFLIB 5.2.1

* Declared Won't-fix on SF issue 149: Out of source builds no longer possible

* Address SF issue #151: A heap-buffer-overflow in gif2rgb.c:294:45

* Address SF issue #152: Fix some typos on the html documentation and man pages

* Address SF issue #153: Fix segmentation faults due to non correct checking for args

* Address SF issue #154: Recover the giffilter manual page

* Address SF issue #155: Add gifsponge docs

* Address SF issue #157: An OutofMemory-Exception or Memory Leak in gif2rgb

* Address SF issue #158: There is a null pointer problem in gif2rgb

* Address SF issue #159 A heap-buffer-overflow in GIFLIB5.2.1 DumpScreen2RGB() in gif2rgb.c:298:45

* Address SF issue #163: detected memory leaks in openbsd_reallocarray giflib/openbsd-reallocarray.c

* Address SF issue #164: detected memory leaks in GifMakeMapObject giflib/gifalloc.c

* Address SF issue #166: a read zero page leads segment fault in getarg.c and memory leaks in gif2rgb.c and gifmalloc.c

* Address SF issue #167: Heap-Buffer Overflow during Image Saving in DumpScreen2RGB Function at Line 321 of gif2rgb.c
netbsd-srcmastr pushed a commit that referenced this pull request Nov 27, 2024
Changes in [1.11.86](https://github.com/element-hq/element-web/releases/tag/v1.11.86) (2024-11-19)
==================================================================================================
## ✨ Features

* Deduplicate icons using Compound Design Tokens ([#28419](element-hq/element-web#28419)). Contributed by @t3chguy.
* Let widget driver send error details ([#28357](element-hq/element-web#28357)). Contributed by @AndrewFerr.
* Deduplicate icons using Compound Design Tokens ([#28381](element-hq/element-web#28381)). Contributed by @t3chguy.
* Auto approvoce `io.element.call.reaction` capability for element call widgets ([#28401](element-hq/element-web#28401)). Contributed by @toger5.
* Show message type prefix in thread root \& reply previews ([#28361](element-hq/element-web#28361)). Contributed by @t3chguy.
* Support sending encrypted to device messages from widgets ([#28315](element-hq/element-web#28315)). Contributed by @hughns.

## 🐛 Bug Fixes

* Feed events to widgets as they are decrypted (even if out of order) ([#28376](element-hq/element-web#28376)). Contributed by @robintown.
* Handle authenticated media when downloading from ImageView ([#28379](element-hq/element-web#28379)). Contributed by @t3chguy.
* Ignore `m.3pid_changes` for Identity service 3PID changes ([#28375](element-hq/element-web#28375)). Contributed by @t3chguy.
* Fix markdown escaping wrongly passing html through ([#28363](element-hq/element-web#28363)). Contributed by @t3chguy.
* Remove "Upgrade your encryption" flow in `CreateSecretStorageDialog` ([#28290](element-hq/element-web#28290)). Contributed by @florianduros.


Changes in [1.11.85](https://github.com/element-hq/element-web/releases/tag/v1.11.85) (2024-11-12)
==================================================================================================
# Security
- Fixes for [CVE-2024-51750](https://www.cve.org/CVERecord?id=CVE-2024-51750) / [GHSA-w36j-v56h-q9pc](GHSA-w36j-v56h-q9pc)
- Fixes for [CVE-2024-51749](https://www.cve.org/CVERecord?id=CVE-2024-51749) / [GHSA-5486-384g-mcx2](GHSA-5486-384g-mcx2)
- Update JS SDK with the fixes for [CVE-2024-50336](https://www.cve.org/CVERecord?id=CVE-2024-50336) / [GHSA-xvg8-m4x3-w6xr](GHSA-xvg8-m4x3-w6xr)


Changes in [1.11.84](https://github.com/element-hq/element-web/releases/tag/v1.11.84) (2024-11-05)
==================================================================================================
## ✨ Features

* Remove abandoned MSC3886, MSC3903, MSC3906 implementations ([#28274](element-hq/element-web#28274)). Contributed by @t3chguy.
* Update to React 18 ([#24763](element-hq/element-web#24763)). Contributed by @t3chguy.
* Deduplicate icons using Compound ([#28239](element-hq/element-web#28239)). Contributed by @t3chguy.
* Replace legacy Tooltips with Compound tooltips ([#28231](element-hq/element-web#28231)). Contributed by @t3chguy.
* Deduplicate icons using Compound Design Tokens ([#28219](element-hq/element-web#28219)). Contributed by @t3chguy.
* Add reactions to html export ([#28210](element-hq/element-web#28210)). Contributed by @langleyd.
* Remove feature\_dehydration ([#28173](element-hq/element-web#28173)). Contributed by @florianduros.

## 🐛 Bug Fixes

* Remove upgrade encryption in `DeviceListener` and `SetupEncryptionToast` ([#28299](element-hq/element-web#28299)). Contributed by @florianduros.
* Fix 'remove alias' button in room settings ([#28269](element-hq/element-web#28269)). Contributed by @Dev-Gurjar.
* Add back unencrypted path in `StopGapWidgetDriver.sendToDevice` ([#28295](element-hq/element-web#28295)). Contributed by @florianduros.
* Fix other devices not being decorated as such ([#28279](element-hq/element-web#28279)). Contributed by @t3chguy.
* Fix pill contrast in invitation dialog ([#28250](element-hq/element-web#28250)). Contributed by @florianduros.
* Close right panel chat when minimising maximised voip widget ([#28241](element-hq/element-web#28241)). Contributed by @t3chguy.
* Fix develop changelog parsing ([#28232](element-hq/element-web#28232)). Contributed by @t3chguy.
* Fix Ctrl+F shortcut not working with minimised room summary card ([#28223](element-hq/element-web#28223)). Contributed by @t3chguy.
* Fix network dropdown missing checkbox \& aria-checked ([#28220](element-hq/element-web#28220)). Contributed by @t3chguy.


Changes in [1.11.83](https://github.com/element-hq/element-web/releases/tag/v1.11.83) (2024-10-29)
==================================================================================================
## ✨ Features

* Enable Element Call by default on release instances ([#28314](element-hq/element-web#28314)). Contributed by @t3chguy.



Changes in [1.11.82](https://github.com/element-hq/element-web/releases/tag/v1.11.82) (2024-10-22)
==================================================================================================
## ✨ Features

* Deduplicate more icons using Compound Design Tokens ([#132](element-hq/matrix-react-sdk#132)). Contributed by @t3chguy.
* Always show link new device flow even if unsupported ([#147](element-hq/matrix-react-sdk#147)). Contributed by @t3chguy.
* Update design of files list in right panel ([#144](element-hq/matrix-react-sdk#144)). Contributed by @t3chguy.
* Remove feature\_dehydration ([#138](element-hq/matrix-react-sdk#138)). Contributed by @florianduros.
* Upgrade emojibase-bindings and remove local handling of emoticon variations ([#127](element-hq/matrix-react-sdk#127)). Contributed by @langleyd.
* Add support for rendering media captions ([#43](element-hq/matrix-react-sdk#43)). Contributed by @tulir.
* Replace composer icons with Compound variants ([#123](element-hq/matrix-react-sdk#123)). Contributed by @t3chguy.
* Tweak default right panel size to be 320px except for maximised widgets at 420px ([#110](element-hq/matrix-react-sdk#110)). Contributed by @t3chguy.
* Add a pinned message badge under a pinned message ([#118](element-hq/matrix-react-sdk#118)). Contributed by @florianduros.
* Ditch right panel tabs and re-add close button ([#99](element-hq/matrix-react-sdk#99)). Contributed by @t3chguy.
* Force verification even for refreshed clients ([#44](element-hq/matrix-react-sdk#44)). Contributed by @dbkr.
* Update emoji text, border and background colour in timeline ([#119](element-hq/matrix-react-sdk#119)). Contributed by @florianduros.
* Disable ICE fallback based on well-known configuration ([#111](element-hq/matrix-react-sdk#111)). Contributed by @t3chguy.
* Remove legacy room header and promote beta room header ([#105](element-hq/matrix-react-sdk#105)). Contributed by @t3chguy.
* Respect `io.element.jitsi` `useFor1To1Calls` in well-known ([#112](element-hq/matrix-react-sdk#112)). Contributed by @t3chguy.
* Use Compound close icon in favour of mishmash of x/close icons ([#108](element-hq/matrix-react-sdk#108)). Contributed by @t3chguy.

## 🐛 Bug Fixes

* Correct typo in option documentation ([#28148](element-hq/element-web#28148)). Contributed by @AndrewKvalheim.
* Revert #124 and #135 ([#139](element-hq/matrix-react-sdk#139)). Contributed by @dbkr.
* Add aria-label to e2e icon ([#136](element-hq/matrix-react-sdk#136)). Contributed by @florianduros.
* Fix bell icons on room list hover being black squares ([#135](element-hq/matrix-react-sdk#135)). Contributed by @dbkr.
* Fix vertical overflow on the mobile register screen ([#137](element-hq/matrix-react-sdk#137)). Contributed by @langleyd.
* Allow to unpin redacted event ([#98](element-hq/matrix-react-sdk#98)). Contributed by @florianduros.
netbsd-srcmastr pushed a commit that referenced this pull request Dec 2, 2024
Using upstream patch. Remove BROKEN. Changes since 1.5.1:

1.5.4
------------------------------------------------------------------------

* A brand new settings menu that uses [Dear ImGui](https://github.com/ocornut/imgui).
  Can be opened with `F10` (unless that key is bound already) or by entering `dhewm3Settings`
  in the console. It has lots of settings that the original options menu doesn't have and
  can be easily navigated with gamepad or keyboard (or the mouse, of course).
  It can also be opened while in the game, which then is paused (if Single Player) but still visible,
  so the effect of most graphics settings can be seen immediately.
  Needs SDL2 and C++11.
* "Soft" Particles (that don't "cut" into geometry but fade smoothly), based on code from The Dark Mod
  2.04. Can be enabled/disabled with `r_useSoftParticles`, is applied automatically for all appropriate
  particles (view-aligned, using additive or alpha blending and not too small)
* `r_enableDepthCapture`: Enable capturing depth buffer to texture, needed for the soft particles.
  Can be used in custom materials by using the `"_currentDepth"` texture
* Replaced dependency on (external) zlib with integrated [miniz](https://github.com/richgel999/miniz)
* HighDPI/Retina support
* Allow inverted mouse look (horizontally, vertically or both) with `m_invertLook`
* CVar to allow always run in single player (still drains stamina though!): `in_allowAlwaysRunInSP`
* VSync can be enabled/disabled on the fly, without restarting the renderer (still with `r_swapInterval`
  or in the menu, of course; needs SDL2)
* Allow enabling/disabling [HRTF](https://en.wikipedia.org/wiki/Head-related_transfer_function)
  with `s_alHRTF`
* `s_alOutputLimiter`: Configure OpenAL's output-limiter which temporarily reduces the overall
  volume when too many too loud sounds play at once, to avoid issues like clipping
* `s_scaleDownAndClamp`: Clamp and reduce volume of all sounds to prevent clipping or temporary
  downscaling by OpenAL's output limiter
* If `r_windowResizable` is set, the dhewm3 window (when in windowed mode..) can be freely resized.
  Needs SDL2; with 2.0.5 and newer it's applied immediately, otherwise when creating the window.
* If switching between fullscreen and windowed mode or similar changes causes issues (like
  [here](dhewm/dhewm3#587 (comment))), you can set
  `r_vidRestartAlwaysFull 1`, so (again) a full `vid_restart` is done, instead of the partial one
  which *usually* suffices for just changing the resolution or fullscreen state. If you run into that
  issue (probably a driver bug), you'll probably also want to set `r_windowResizable 0`, because
  resizing the window that way also triggered the bug, and in that case no `vid_restart` is done at all
* Fixed screenshots when using native Wayland (`SDL_VIDEODRIVER=wayland`)
* If you enter the `map` command in the console, without any arguments, the current map name is printed
* Support OpenGL debug contexts and messages (`GL_ARB_debug_output`). Can be enabled with `r_glDebugContext 1`.
  Changing that CVar requires a `vid_restart` (or set it as startup argument)
* The Mods Menu's entries for the base game and d3xp/RoE are now clearer, and it can load the new
  d3xp-based mods (sikkmodd3xp, perfected_roe)

1.5.3 (2024-03-29)
------------------------------------------------------------------------

* Support for gamepads (based on code from [Quadrilateral Cowboy](https://github.com/blendogames/quadrilateralcowboy),
  but heavily expanded). See [Configuration.md](./Configuration.md#using-gamepads) for more information.
* Support different file formats for screenshots by setting the `r_screenshotFormat` CVar
  (0 = TGA, still the default, 1 = BMP, 2 = PNG, 3 = JPG). `r_screenshotJpgQuality` and
  `r_screenshotPngCompression` allow configuring how JPG/PNG are compressed.
  Thanks *eezstreet (Nick Whitlock)*!
* Fixed problems with lights after loading a savegame (#495)
* Fix volume of some weapon sounds, like chaingun being too quit (#326)
* Increase stack size on Windows to 8MB (instead default of 1MB) to make loading huge models work
* Fixed crash in Radiant Model Preview Dialog (#496)
* Fix MD3 model support
* Several new CMake options:
    - To enable Clang/GCC Address Sanitizer and Undefined Behavior Sanitizer
    - Hardlink the game code into the executable (instead of using game DLLs,
      only supports base *or* d3xp then; needed for Undefined Behavior Sanitizer)
    - Force colored diagnostic output from GCC or Clang (esp. useful when building with ninja)
* Fix several compiler warnings
* Added build instructions for Linux (and similar systems) to README.md
* Updated stb_image and stb_vorbis
* Updated minizip (from zlib/contrib) to latest upstream code
* Added `in_namePressed` CVar to print currently pressed key/button (useful for binding keys
  in the console or configs). Thanks *Biel Bestué de Luna*!


1.5.2 (2022-06-13)
------------------------------------------------------------------------

* Gamma and Brightness are now applied in the shaders instead of by setting hardware gamma.
  Can be disabled (so hardware gamma is used again) with `r_gammaInShaders 0`
* Improvements for (Windows-only) MFC-based tools:
    - Added the script debugger! (thanks *HarrievG*!)
      Original Doom3 didn't have it (Quake4 did), but the Doom3 GPL source contained
      most of it. *HarrievG* implemented the missing parts and we added some new
      features. It can even be used over the network and while the client part
      (the debugger GUI) is Windows-only, the server can run on all supported
      platforms, so you can debug a game running on Linux or macOS, for example.
      Relevant CVars for network debugging are:
      `com_enableDebuggerServer` and `com_dbgClientAdr` and `com_dbgServerAdr`.
      To debug the running game on the same PC, just enter `debugger` in the console.
    - All tools can now be built in 64bit (thanks *raynorpat*!)
    - HighDPI support (thanks *HarrievG*!)
    - PDAEditor works now
    - Additional bugfixes
* Cycle through multiple Quicksave slots instead of immediately overwriting the last
  Quicksave. The `com_numQuicksaves` CVar allows setting the number of QuickSaves (#392)
* Make r_locksurfaces work (#357)
  It doesn't do exactly what its description and name suggests: it renders
  everything that is *currently* visible from the position/view the player had
  when setting `r_locksurfaces 1`. Originally it was supposed to render exactly
  the surfaces that *were* visible then, but I couldn't get that to work.
  This is pretty similar, but there may be differences with opened doors and such.
* Keyboard input improvements (mostly SDL2-only):
    - Support (hopefully) all keyboard keys on all kinds of keyboard layouts
      by using scancodes for otherwise unknown keys
    - Support typing in non-ASCII characters, if supported by Doom3 (it supports ISO-8859-1)
    - Support the clipboard also on non-Windows platforms
      You can paste text from the clipboard into the console or other edit fields
      with `Shift+Insert`
    - Explicit support for Right Ctrl, Alt and Shift keys
      (can be bound to different actions than their left counterparts)
    - Added `in_grabKeyboard` CVar to make sure dhewm3 gets *all* keyboard input
      Prevents the Windows-key or Alt-Tab or whatever from taking focus from the game
    - Added `in_ignoreConsoleKey` - if set to `1`, the console is only opened with
      Shift+Esc, and the "console key" (that key between Esc, 1 and Tab) can be freely
      bound to an action (and its char can be typed in the console without closing it).
    - Added (SDL2-only) "auto" option for `in_kbd`: When not disabling the console key,
      dhewm3 will try to automatically detect it if `in_kbd` is set to "auto" (now default)
* Reworked mouse-input and -grabbing code, using absolute mouse mode in fullscreen GUIs
  (except for the PDA, because it's implemented weirdly).
  This made releasing the mouse in the main menu possible, as now the ingame cursor
  is at the same position as the system cursor.
* `s_alReverbGain` CVar to reduce EFX reverb effect intensity (#365)
* Pause (looped) sounds when entering menu (#330)
* Fixes for looped sounds (#390)
* Replace libjpeg with stb_image and libogg/libvorbis(file) with stb_vorbis
    - Now the only required external dependencies should be OpenAL, SDL, zlib
      and optionally libCURL (and of course the C and C++ runtimes)
* (Optionally) use libbacktrace on non-Windows platforms for more useful
  backtraces in case of crashes (usually linked statically)
* Fixed a deadlock (freeze) on Windows when printing messages from another thread
* Fixed endless loop (game locking up at startup) if graphics settings couldn't be applied (#386)
* Fixed some warnings and uninitialized variables (thanks *turol*!)
* Work around dmap bug caused by GCC using FMA "optimizations" (#147)
* Prevent dhewm3 from being run as root on Unix-like systems to improve security
* Replaced most usages of `strncpy()` with something safer to prevent buffer overflows
  (remaining cases should be safe).
    - Just a precaution, I don't know if any of them could actually be exploited,
      but there were some compiler warnings in newer GCC versions.
* Console output is now logged to `dhewm3log.txt` (last log is renamed to `dhewm3log-old.txt`)
    - On Windows it's in `My Documents/My Games/dhewm3/`
    - On Mac it's in `$HOME/Library/Application Support/dhewm3/`
    - On other Unix-like systems like Linux it's in `$XDG_DATA_HOME/dhewm3/`
      (usually `$HOME/.local/share/dhewm3/`)
* Improved compatibility with Wayland (#426)
* Work around assertion in AlphaLabs4 due to "ride_of_death" yeeting
  the dead "monster_zsec_shotgun_12" into the void (#409)
* Support loading some mods known to need `fs_game_base d3xp` via Mods menu
  (currently, *The Lost Mission* and *LibreCoop d3xp* are supported)
* Disable assertion in idSampleDecoderLocal::DecodeOGG() that triggered
  when starting a new Classic Doom3 game (#461)
netbsd-srcmastr pushed a commit that referenced this pull request Dec 2, 2024
(NEWS.md is not updated to 1.1.7)
# s2 1.1.5

* fix compiler problem on Alpine 3.19.0 (#251)

# s2 1.1.4

* Updated more tests to pass on a forthcoming waldo package update (#237).

# s2 1.1.3

* Made a test less strict to pass tests on Alpine Linux (#218, #220).
* Updated tests to pass on forthcoming waldo package update (@hadley, #226).
* Updated vendored file modifications to suppress a multi-line comment
  warning on gcc (#214, #227).

# s2 1.1.2

- Fixed test for `as.data.frame()` for `s2_cell()` to comply with new wk
  version and the latest release of R (#207).
- Fix unary union of an empty multipolygon (#208).
- Added `#include <cstdint>` to an Abseil header to fix compilation with
  gcc13 (#209, #210).
- Update internal Abseil to 20220623.1 LTS (#213).

# s2 1.1.1

- Fix new CRAN check warnings (#202, #203).

# s2 1.1.0

- Fix for s2 build on Windows with R <= 3.6.x (#142)
- Fix for s2 build on MacOS with multiple openssl versions (#142, #145, #146)
- Fix for s2 build on 32-bit openssl (#143, #147)
- Added `s2_convex_hull()` and `s2_convex_hull_agg()` (@spiry34, #150,
  #151, #163).
- Added `max_distance` argument to `s2_closest_edges()`, making
  distance-constrained k-nearest neighbours possible (#125, #156, #162).
- Added a spherical `s2_point_on_surface()` implementation for polygons
  (@kylebutts, #152, #161)
- Added a `s2_cell_union()` vector class to represent cell coverings and
  operators to generate them from an s2 geography vector (e.g.,
  `s2_covering_cell_ids()`). Cell unions are useful as compact representations
  of spherical geometry and can be used like a bounding box to determine
  a possible intersection with one or more geographies (#85, #94, #164).
- Refactored the simple features compatability layer into a standalone
  code base for potential future use in a Python adaptation (#165).
- Migrate input and output to non-deprecated wk package handlers and writers
  (#101, #165, #168).
- Make `s2_union_agg()` more efficient using a recursive merge strategy
  (#103, #165).
- Fix package build on Raspberry Pi (#169, #171).
- Fix warning on clang14 when compiling with `-O0` (#167, #172).
- Added `s2_prepared_dwithin()` and fixed `s2_dwithin_matrix()` such that it
  efficiently uses the index (#157, #174).
- Updated `s2_lnglat()` and `s2_point()` to use `wk::xy()` (a record-style
  vctr) to represent point coordinates. This is much faster than the previous
  representation which relied on `list()` of external pointers (#181, #159).
- Added arguments `planar` and `tessellate_tol_m` to `s2_as_text()`,
  `s2_as_binary()`. Use `planar = TRUE` and set `tessellate_tol_m` to the
  maximum error for your use-case to automatically subdivide edges to
  preserve or "straight" lines in Plate carree projection on import (#182).
- Added arguments `planar` and `tessellate_tol_m` to `s2_geog_from_text()`, and
  `s2_geog_from_wkb()`. Use `planar = TRUE` and set `tessellate_tol_m` to the
  maximum error for your use-case to automatically subdivide edges to
  ensure or "straight" lines in Plate carree projection on export (#182).

# s2 1.0.7

- Update the internal copy of s2geometry to use updated Abseil,
  fixing a compiler warning on gcc-11 (#79, #134).
netbsd-srcmastr pushed a commit that referenced this pull request Dec 2, 2024
# wk 0.9.4

- Ensure package tests pass against sf 1.0-18 (#224, #225).

# wk 0.9.3

- Ensure package compiles with `STRICT_R_HEADERS=1` (#222).

# wk 0.9.2

- Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213)
- Fix wk_trans inconsistent meta flags handling (#217)
- Ensure package builds on arm64 for Windows (#220)

# wk 0.9.1

- Fix format strings/arguments for R-devel (#209).

# wk 0.9.0

## Breaking changes

- The common well-known binary representation of POINT EMPTY (i.e.,
  POINT (nan nan)) is now handled as POINT EMPTY allowing empty points
  to roundtrip through `wkb()` vectors (#196, #204).
- `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This
  preserves the invariant that null features can also be identified using
  `is.na()` (#205).
- `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))`
  now returns `FALSE`. This means that both EMPTY and null points can roundtrip
  through `xy()` (#205).

## Bugfixes and improvements

- `wk_meta()` now contains a new column `is_empty`, which is `TRUE`
  for any feature that contains at least one non-empty coordinate. This allows
  more efficient detection of features with zero coordinates (#197, #199).
- Updated PROJ data to use the latest pull of the database packaged with
  PROJ 9.3.0 (#201).
- The wk package now compiles once again on gcc 4.8 (#203, #206).
- Fixed `sfc_writer()` to correctly attach the `classes` attribute to
  sfc output with mixed geometry types (#195).
- Function `sfc_writer()` now has an argument `promote_multi` to write any
  input as the MULTI variant. This makes it more likely that an input vector
  will be read as a single geometry type (#198).
- The `wk_collection_filter()` now correctly increments the `part_id` when
  calling the child handler (@brownag, #194).

# wk 0.8.0

* Added `wkb_to_hex()` (@anthonynorth, #183).
* Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs
  (@anthonynorth, #183).
* Fixed `sfc_writer()`, which had returned NULL for some inputs
  (e.g., via `wk_collection()`) (@anthonynorth, #182, #186).
* Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings
  (@anthonynorth, #188).
* New replacement-function mode for `wk_coords<-()` for in-place modification
  of coordinates (@mdsumner, #187).
* New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187).

# wk 0.7.3

* Fix tests for updated waldo package (#178).

# wk 0.7.2

* Fix use-after-free warnings.

# wk 0.7.1

* Fix implicit reliance on error `as.data.frame.default()`,
  which no longer occurs in r-devel (#166).

# wk 0.7.0

* Remove legacy headers that are no longer used by any downstream package
  (#146).
* `validate_wk_wkt()` now errors for an object that does not inherit from
  'wk_wkt' (#123, #146).
* Added `wk_crs_projjson()` to get a JSON representation of a CRS object.
  To make lookup possible based on shortcut-style CRS objects (e.g.,
  `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and
  `wk_proj_crs_json` that contain cached versions of rendered PROJJSON
  based on the latest PROJ version (#147).
* Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136,
  #147).
* Conversion to sf now uses the `sfc_writer()` for all wk classes, making
  conversions faster and fixing at least one issue with conversion of NA
  geometries to sf (#135).
* `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types
  more reliably (#142, #143, #149).
* Exported EMPTY geometries to well-known text now include dimension
  (e.g., `POINT Z EMPTY`) (#141, #150).
* Fixed bug where `wk_polygon()` doubled some points when the input contained
  closed rings (#134, #151).
* Fixed bug where `wk_count()` exposed uninitialized values for empty input
  (#139, #153).
* The `xy_writer()` now opportunistically avoids allocating vectors for Z
  or M values unless they are actually needed (#131, #154).
* Added example WKT for all geometry types and dimensions plus helper
  `wk_example()` to access them and set various properties (#155).
* Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158).
* Removed `wk_chunk_map_feature()` in favour of using chunking strategies
  directly (#132, #159).
* Optimized `wk_coords()` for `xy()` objects (#138, #160).
* Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`,
  `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`,
  `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()`
  (#144, #161).
* Added rectangle operators `rct_intersects()`, `rct_contains()`,
  and `rct_intersection()` (#161).

# wk 0.6.0

* Fixed `wk_affine_rescale()` to apply the translate and scale
  operations in the correct order (#94).
* Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support
  a chunk + apply workflow when working with large vectors (#101, #107).
* C and R code was rewritten to avoid materializing ALTREP vectors
  (#103, #109).
* Added a `wk_crs_proj_definition()` generic for foreign CRS objects
  (#110, #112).
* Added `wk_crs_longlat()` helper to help promote authority-compliant
  CRS choices (#112).
* Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic`
  in `wkt()` and `wkb()` as a flag for objects whose edges must
  be interpolated along a spherical/ellipsoidal trajectory (#112).
* Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry
  vectors for better integration with sf (#113, #114).
* Refactored well-known text parser to be more reusable and faster
  (#115, #104).
* Minor performance enhancement for `is.na()` and `validate_wk_wkb()`
  when called on a very long `wkb()` vector (#117).
* Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed
  for most valid objects (#119).
* Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise
  bounding boxes (#120, #122).
* Fixed headers and tests to pass on big endian systems (#105, #122).
* Incorporated the geodesic attribute into vctrs methods, data frame
  columns, and bbox/envelope calculation (#124, #125).
* Fix `as_xy()` for nested data frames and geodesic objects (#126, #128).
* Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`,
  and `wkt_format()` (#129).
* `wk_plot()` is now an S3 generic (#130).

# wk 0.5.0

* Fixed bugs relating to the behaviour of wk classes as
  vectors (#64, #65, #67, #70).
* `crc()` objects are now correctly exported as polygons
  with a closed loop (#66, #70).
* Added `wk_vertices()` and `wk_coords()` to extract individual
  coordinate values from geometries with optional identifying
  information. For advanced users, the `wk_vertex_filter()`
  can be used as part of a pipeline to export coordinates
  as point geometries to another handler (#69, #71).
* Added `wk_flatten()` to extract geometries from collections.
  For advanced users, the `wk_flatten_filter()` can be used as
  part of a pipeline (#75, #78).
* `options("max.print")` is now respected by all vector classes
  (#72, #74).
* Moved implementation of plot methods from wkutils to wk to
  simplify the dependency structure of both packages (#80, #76).
* Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()`
  to construct polygons, lines, and collections. For advanced
  users, `wk_polygon_filter()`, `wk_linestring_filter()`, and
  `wk_collection_filter()` can be used as part of a pipeline
  (#77, #84).
* Added a C-level transform struct that can be used to simplify
  the the common pattern of transforming coordinates. These
  structs can be created by other packages; however, the
  `wk_trans_affine()` and `wk_trans_set()` transforms are
  also built using this feature. These are run using the
  new `wk_transform()` function and power the new
  `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`,
  functions (#87, #88, #89).

# wk 0.4.1

* Fix LTO and MacOS 3.6.2 check errors (#61).

# wk 0.4.0

* Removed `wksxp()` in favour of improved `sf::st_sfc()` support
  (#21).
* Rewrite existing readers, writers, and handlers, using
  a new C API (#13).
* Use new C API in favour of header-only approach for all
  wk functions (#19, #22).
* Use cpp11 to manage safe use of callables that may longjmp
  from C++.
* Vector classes now propagate `attr(, "crs")`, and check
  that operations that involve more than one vector have
  compatable CRS objects as determined by `wk_crs_equal()`.
* Added an R-level framework for other packages to implement
  wk readers and handlers: `wk_handle()`, `wk_translate()`,
  and `wk_writer()` (#37).
* Added a native reader and writer for `sf::st_sfc()` objects
  and implemented R-level generics for sfc, sfg, sf, and bbox
  objects (#28, #29, #38, #45).
* Implement `crc()` vector class to represent circles (#40).
* Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42).
* Refactored unit tests reflecting use of the new API and
  for improved test coverage (#44, #45, #46).
* Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to
  inspect properties of vectors (#53).
* Modified all internal handlers such that they work with vectors
  of unknown length (#54).

# wk 0.3.4

* Fixed reference to `wkutils::plot.wk_wksxp()`, which
  no longer exists.

# wk 0.3.3

* Fixed WKB import of ZM geometries that do not use EWKB.
* Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes
  to efficiently store point geometries.
* Added the `rct()` vector class to efficiently store
  two-dimensional rectangles.
* Fixed the CRAN check  failure caused by a circular
  dependency with  the wkutils package.
* Added S3 methods to coerce sf objects to and from
  `wkt()`, `wkb()` and `wksxp()`.

# wk 0.3.2

* Fixed EWKB output for collections and multi-geometries
  that included SRID (#3).
* Fixed CRAN check errors related to exception handling on
  MacOS/R 3.6.2.

# wk 0.3.1

* Added a `NEWS.md` file to track changes to the package.
netbsd-srcmastr pushed a commit that referenced this pull request Dec 11, 2024
1.10.16 (2024-11-24)

* PR #141: Fix bug #27796: "Array to string" conversion warnings on
  installs/other actions
* PR #145: Never reference E_STRICT on PHP 8.4+
* PR #147: Fix tests 8.1+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.