-
Notifications
You must be signed in to change notification settings - Fork 167
nasm: updated to 2.16.03 #147
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
Open
tempcracks
wants to merge
10,000
commits into
NetBSD:trunk
Choose a base branch
from
tempcracks:trunk
base: trunk
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Bump PKGREVISION
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.
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.
…y-test-subprocess
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.
b0da5aa to
b18894e
Compare
netbsd-srcmastr
pushed a commit
that referenced
this pull request
Mar 2, 2025
pkgsrc change: remove restriction to Ruby's version. 1.0.3 (2025-02-26) What's Changed * Bump step-security/harden-runner from 2.10.1 to 2.10.2 by @dependabot in #136 * Bump rubygems/release-gem from 612653d273a73bdae1df8453e090060bb4db5f31 to 9e85cb11501bebc2ae661c1500176316d3987059 by @dependabot in #137 * Prevent a warning: URI::REGEXP is obsolete by @mame in #138 * Revisit deprecated test by @hsbt in #139 * Suppress deprecate warning of test class (retry) by @mame in #140 * Fix README by @hsbt in #142 * Bump rubygems/release-gem from 1.1.0 to 1.1.1 by @dependabot in #143 * Bump step-security/harden-runner from 2.10.2 to 2.10.3 by @dependabot in #144 * Bump step-security/harden-runner from 2.10.3 to 2.10.4 by @dependabot in #145 * Make documentation 100% by @nobu in #147 * Bump step-security/harden-runner from 2.10.4 to 2.11.0 by @dependabot in #153 * Remove userinfo by @hsbt in #154 New Contributors * @mame made their first contribution in #138
netbsd-srcmastr
pushed a commit
that referenced
this pull request
Apr 26, 2025
Notable changes since the last release (v0.8.3):
Revamped low-pass filter options for Genesis / Sega CD / 32X that should be significantly more accurate to actual hardware than the v0.8.3 settings
Improved audio quality for all emulated systems via much higher-quality audio resampling
A rather large number of bugfixes for Genesis, Sega CD, 32X, SMS, Game Gear, SNES, Game Boy [Color]
Major bugfixes for Linux AppImage builds in Wayland
Save state files are now internally compressed using zstd, which should reduce save state file size by 70-80% in most cases
Basic CPU + CD-ROM drive overclocking options for Sega CD, which have fairly low compatibility but do help in some games
Full changelog below.
New Features
(Genesis / Sega CD / 32X) Replaced the low-pass filtering settings added in v0.8.3 with a new set of options that should be more accurate to actual hardware
New option to apply a first-order 3.39 KHz low-pass filter to Genesis audio output; this is ON by default (biggest change from previous default settings)
New option to apply a second-order 7.97 KHz low-pass filter to Sega CD PCM audio output; this is ON by default
New options to individually configure whether the Genesis low-pass filter is applied to Sega CD and 32X audio output; these are all OFF by default
(Genesis / SNES) Added a new video setting to disable deinterlacing in the handful of games that use interlaced display modes (e.g. Sonic the Hedgehog 2 in 2P Vs. mode, Ys III (Genesis) with the in-game "Int Mode" option enabled, Air Strike Patrol in mission briefing screens)
Deinterlacing enabled matches the behavior in previous versions: normal-resolution interlaced modes display the same as progressive mode, and high-res interlaced modes make the graphics processor render all 448/480 lines every frame
(Sega CD) Added an option to overclock the sub CPU by decreasing the master clock divider (#138)
(Sega CD) Added an option to increase the disc drive speed when reading data tracks (#138)
This has low compatibility but can shorten loading times in some games. Compatibility is slightly higher when the sub CPU is overclocked
(Sega CD) Added an additional PCM chip interpolation option for 6-point cubic Hermite interpolation, which in some cases produces a slightly cleaner sound than 4-point cubic Hermite (the existing setting)
Added a new hotkey to quickly toggle whether overclocking settings are enabled, for the systems that support overclocking (this includes Sega CD's new drive speed setting)
This is mainly useful for Sega CD, where increasing the drive speed can shorten loading times during gameplay but almost always breaks FMVs and animated cutscenes
Improvements
Audio resampling code has been rewritten to use the windowed sinc interpolation algorithm, which is much higher quality than the previous resampling implementation at a relatively low performance cost (for most emulated systems)
Windowed sinc interpolation can be very performance-intensive for NES and GB/GBC audio resampling, so these two systems have a new audio setting to choose between windowed sinc interpolation and the old resampling algorithm (low-pass filter followed by nearest neighbor interpolation)
(Genesis) Slightly improved performance by optimizing VDP rendering and tile fetching code
(Genesis) Frontends now recognize .gen and .smd as file extensions for Genesis / Mega Drive ROM images (#149)
This includes attempting to auto-detect when a ROM image is interleaved (common for .smd files), and deinterleaving it during load
(SMS) The "crop vertical borders" video setting now defaults to enabled instead of disabled; unlike the left border, the vertical borders will only ever show the current backdrop color
(SMS) The SMS model setting now defaults to SMS1, which emulates a VDP hardware quirk that is required for the Japanese version of Ys to render correctly (#182)
(SMS / Game Gear) Reduced log level of a warning message that caused excessively verbose log output in Virtua Fighter Mini (#199)
(SNES) In games that use the SA-1 coprocessor, the SA-1 CPU now gets a wait cycle every time it accesses SA-1 BW-RAM, similar to actual hardware
The SA-1 CPU still runs faster than actual hardware in some cases because bus conflict wait cycles are not emulated
GUI: When opening a game that requires a BIOS ROM or firmware ROM (e.g. any Sega CD game), if the BIOS/firmware ROM path is not configured, the error window now contains a button to configure the appropriate ROM path and immediately launch the game
CLI: If no config file exists, the CLI will now attempt to write out the default config to the config path so that it can be edited manually if desired
Save state files are now internally compressed using zstd which should reduce save state file size by at least 50%, often by 70-80%
Frontends should now correctly handle files with uppercase file extensions
Multi-System Fixes
Fixed a performance bug in the audio resampling code that could have caused intermittent extremely poor performance due to performing arithmetic on subnormal floating-point numbers, which can be up to 100 times slower than normal floating-point arithmetic on some CPUs (#135)
Linux: AppImage builds now exclude all Wayland-related system libraries during packaging; this fixes the emulator failing to launch in some distros, e.g. Solus Plasma (#143)
Linux: AppImage builds now interpret relative paths in command-line arguments as being relative to the original working directory where the AppImage was launched from, not the AppImage internal runner directory (#147)
Linux/BSD CLI: For these platforms only and for the CLI only, reverted the change to estimate window scale factor because SDL_GetDisplayDPI does not return reliable values on Linux/BSD
Adjusted frame time sync's sleep implementation to fix frame time sync potentially causing slowdown on some platforms
Save state files are now explicitly versioned, which fixes potential crashing when attempting to load an incompatible save state file from a different version
Genesis / Mega Drive Fixes
Fixed the 68000 incorrectly being allowed to access audio RAM while the Z80 is on the bus; this fixes freezing in Joe & Mac (#144)
Fixed Z80 RESET not clearing the Z80's HALT status
Fixed writes to YM2612 F-num high / block registers ($A4-$A6 and $AC-$AE) taking effect immediately instead of after the next F-num low register write; this fixes some music glitches in Valis
Implemented more accurate emulation of how the YM2612 computes operator amplitude from phase and envelope attenuation
Fixed in-game saves not working correctly when Sonic & Knuckles is locked on to a cartridge with SRAM (e.g. Sonic 3)
Fixed certain revisions of QuackShot not loading correctly due to having non-standard cartridge ROM address mappings (#174)
Fixed some illegal 68000 opcodes incorrectly decoding to "valid" instructions (#184 / #185)
Fixed an edge case related to how sprite tile/pixel overflow interacts with H=0 sprite masking (#186)
Sega CD Fixes
Implemented a higher minimum seek time for small seek distances; this fixes Thunder Storm FX (JP) failing to boot (#178)
Fixed a regression introduced in v0.8.3 that caused PCM chip channels to skip the first sample after being enabled (this made little-to-no audible difference in practice because the first sample is usually 0)
Fixed slightly inaccurate emulation of PCM chip looping behavior at sample rates higher than 0x0800 / 32552 Hz
Fixed inaccurate emulation of CD-DA fader volumes 1-3 out of 1024 (should be 50-60 dB of attenuation instead of complete silence)
Unmapped/unknown address accesses will now log an error instead of crashing the emulator
32X Fixes
Fixed a major bug in the PWM resampling code that caused PWM audio output to sound significantly more poppy and crackly than it's supposed to
Fixed a bug around synchronizing SH-2 accesses to 32X communication ports that could have caused writes to be skipped in some cases; this fixes freezing in the Sonic Robo Blast 32X demo (#160)
Significantly improved timing of 32X VDP interrupts for the SH-2s (#166)
Significantly improved synchronization between the SH-2s and the 68000
Fixed PWM DMA transfer rate via DREQ1 not taking the PWM timer interval into account; this fixes broken sound effects in BC Racers (#179)
Master System / Game Gear Fixes
Fixed the Z80's RETI instruction not correctly copying IFF2 to IFF1 like RETN does; this fixes Desert Strike from freezing when you press Start/Pause (#181)
Fixed incorrect handling of non-power-of-two ROM sizes, which fixes several homebrew games and demos (#201 / #203 / #204)
(Game Gear) Fixed the emulator crashing if a game enables the VDP's 224-line mode, as the homebrew GG Turrican does (#202)
SNES Fixes
Implemented more accurate clipping and truncation in Mode 7 intermediate calculations; this fixes glitched Mode 7 graphics in Tiny Toon Adventures: Wacky Sports Challenge (#161)
Mode 7 registers are now latched about 12 pixels before line rendering begins; this fixes a glitchy line near the bottom of the play area in Battle Clash, where the screen transitions from Mode 1 to Mode 7
Implemented an obscure behavior regarding the effects of writing to OAM during active display; this fixes incorrect sprite display in Uniracers' Vs. mode (#164)
Made a best effort at implementing the effects on sprites of toggling forced blanking during active display; this mostly fixes some test ROMs that exercise this (#162)
Adjusted behavior of APU communication ports when the 65816 writes to a port on the same cycle that the SPC700 cle
ars the port; this fixes Kishin Douji Zenki: Tenchi Meidou failing...
netbsd-srcmastr
pushed a commit
that referenced
this pull request
May 11, 2025
Snowball 3.0.1 (2025-05-09)
===========================
Python
------
* The __init__.py in 3.0.0 was incorrectly generated due to a missing
build dependency and the list of algorithms was empty. First reported by
laymonage. Thanks to Dmitry Shachnev, Henry Schreiner and Adam Turner for
diagnosing and fixing. (#229, #230, #231)
* Add trove classifiers for Armenian and Yiddish which have now been registered
with PyPI. Thanks to Henry Schreiner and Dmitry Shachnev. (#228)
* Update documented details of Python 2 support in old versions.
Snowball 3.0.0 (2025-05-08)
===========================
Ada
---
* Bug fixes:
+ Fix invalid Ada code generated for Snowball `loop` (it was partly Pascal!)
None of the stemmers shipped in previous releases triggered this bug, but
the Turkish stemmer now does.
+ The Ada runtime was not tracking the current length of the string
but instead used the current limit value or some other substitute, which
manifested as various incorrect behaviours for code inside of `setlimit`.
+ `size` was incorrectly returning the difference between the limit and the
backwards limit.
+ `lenof` or `sizeof` on a string variable generated Ada code that didn't
even compile.
+ Fix incorrect preconditions on some methods in the runtime.
+ Fix bug in runtime code used by `attach`, `insert`, `<-` and string
variable assignment when a (sub)string was replaced with a larger string.
This bug was triggered by code in the Kraaij-Pohlmann Dutch stemmer
implementation (which was previously not enabled by default but is now the
standard Dutch stemmer).
+ Fix invalid code generated for `insert`, `<-` and string variable
assignment. This bug was triggered by code in the Kraaij-Pohlmann
Dutch stemmer implementation (which was previously not enabled by default
but is now the standard Dutch stemmer).
+ Generate valid code for programs which don't use `among`. This didn't
affect code generation for any algorithms we currently ship.
+ If the end of a routine was unreachable code the Snowball compiler
would think the start of the next routine was also unreachable and would
not generate it. This didn't affect code generation for any algorithms we
currently ship.
* Code quality:
+ Only declare variables A and C when each is needed.
+ Fix indentation of generated declarations.
+ Drop extra blank line before `Result := True`.
C/C++
-----
* Bug fixes:
+ Fix potential NULL dereference in runtime code if we failed to allocate
memory for the p or S member for a Snowball program which uses one or more
string variables. Problem was introduced in Snowball 2.0.0. Fixes #206,
reported by Maxim Korotkov.
+ Fix invalid C code generated when a failure is handled in a context with
the opposite direction to where it happened, for example:
externals (stem)
define stem as ( try backwards 'x' )
This was fixed by changing the C generator to work like all the other
generators and pre-generate the code to handle failure.
+ Eliminate assumptions that NULL has all-zero bit pattern. We don't know
of any current platforms where this assumption fails, but the C standard
doesn't require an all-zero bit pattern for NULL. Fixes #207.
* Optimisations:
+ Store index delta for among substring_i field. This makes trying
substrings after a failed match slightly faster because we can just add
the offset to the pointer we already have to the current element.
* Code quality:
+ Improve formatting of generated code.
C#
--
* Bug fixes:
+ Add missing runtime support for testing for a string var at the current
position when working forwards. This situation isn't exercised by any of
the stemming algorithms we currently ship.
+ Adjust generated code to work around a code flow analysis bug in the `mcs`
C# compiler.
* Code quality:
+ Prune unused `using System.Text;`.
+ Generate C# with UTF-8 source encoding. This makes the generated code
easier to follow, which helps during development. It's also a bit smaller.
For now codepoints U+0590 and above are still emitted as escape sequences
to avoid confusing source code rendering when LTR scripts are involved.
Go
--
* Optimisations:
+ Drop some unneeded Go code generated for string `$`. None of the shipped
stemmers use string `$`, though the Schinke Latin stemmer algorithm on the
website does.
* Code quality:
+ Dispatch among result with `switch` instead of an `if` ... `else if` chain
(which looks like we did because the Go generator evolved from the Python
generator and Python didn't used to have a switch-like construct. This
doesn't make a measurable speed difference so it seems the Go compiler is
optimising both to equivalent code, but using a switch here seems clearer,
a better match for the intent, and is a bit simpler to generate.
+ Generate Go with UTF-8 source encoding. This makes the generated code
easier to follow, which helps during development. It's also a bit smaller.
For now codepoints U+0590 and above are still emitted as escape sequences
to avoid confusing source code rendering when LTR scripts are involved.
Java
----
* The Java code generated by Snowball requires now requires Java >= 7. Java 7
was released in 2011, and Java 6's EOL was 2013 so we don't expect this
to be a problematic requirement. See #195.
* Optimisations:
+ We now store the current string in a `char[]` rather than using a
`StringBuilder` to reduce overheads. The `getCurrent()` method continues
to return a Java `String`, but the `char[]` can be accessed using the new
`getCurrentBuffer()` and `getCurrentBufferLength()` methods. Patch from
Robert Muir (#195).
+ Use a more efficient mechanism for calling `among` functions. Patch from
Robert Muir (#195).
* Code quality:
+ Consistently put `[]` right after element type for array types, which seems
the most used style.
+ Fix javac warnings in SnowballProgram.java.
+ Improve formatting of generated code.
Javascript
----------
* Bug fixes:
+ Use base class specified by `-p` in string `$` rather than hard-coding
`BaseStemmer` (which is the default if you don't specify `-p`). None of
the shipped stemmers use string `$`, though the Schinke Latin stemmer
algorithm on the website does.
* Code quality:
+ Modernise the generated code a bit. Loosely based on changes proposed in
#123 by Emily Marigold Klassen.
* Other changes:
+ The Javascript runner is now specified by make variable `JSRUN` instead
of `NODE` (since node is just one JS implementation). The default value
is now `node` instead of `nodejs` (older Debian and Ubuntu packages used
`/usr/bin/nodejs` because `/usr/bin/node` was already in use by a
completely different package, but that has since changed).
Pascal
------
* Bug fixes:
+ Add missing semicolons to code generated in some cases for a function which
always succeeds or always fails. The new dutch.sbl was triggering this
bug.
+ If the end of a routine was unreachable code the Snowball compiler
would think the start of the next routine was also unreachable and would
not generate it. This didn't affect code generation for any algorithms we
currently ship.
* Code quality:
+ Eliminate commented out code generated for string `$`. None of the shipped
stemmers use string `$`, though the Schinke Latin stemmer algorithm on the
website does.
* Other changes:
+ Enable warnings, etc from fpc.
+ Select GNU-style diagnostic format.
Python
------
* Optimisations:
+ Use Python set for grouping checks. This speeds up running the Python
testsuite by about 4%.
+ Routines used in `among` are now referenced by name directly in the
generated code, rather than using a string containing the name. This
avoids a `getattr()` call each time an among wants to call a routine. This
doesn't seem to make a measurable speed difference, but it's cleaner and
avoids problems with name mangling. Suggested by David Corbett in #217.
+ Simplify code generated for `loop`. If the iteration count is constant and
at most 4 then iterate over a tuple which microbenchmarking shows is
faster. The only current uses of loop in the shipped stemmers are `loop 2`
so benefit from this. Otherwise we now use `range(AE)` instead of
`range (AE, 0, -1)` (the actual value of the loop variable is never
used so only the number of iterations matter).
* Bug fixes:
+ Correctly handle stemmer names with an underscore.
* Code quality:
+ Generate Python with UTF-8 source encoding. This makes the generated code
easier to follow, which helps during development. It's also a bit smaller.
For now codepoints U+0590 and above are still emitted as escape sequences
to avoid confusing source code rendering when LTR scripts are involved.
* Other changes:
+ Set python_requires to indicate to install tools that the generated code
won't work with Python 3.0.x, 3.1.x and 3.2.x (due to use of `u"foo"`
string literals). Closes #192 and #191, opened by Andreas Maier.
+ Add classifiers to indicate support for Python 3.3 and for 3.8 to 3.13.
Fixes #158, reported by Dmitry Shachnev.
+ Stop marking the wheel as universal, which had started to give a warning
message. Patch from Dmitry Shachnev (#210).
+ Stop calling `setup.py` directly which is deprecated and now produces a
warning - use the `build` module instead. Patch from Dmitry Shachnev
(#210).
Rust
----
* Optimisations:
+ Shortcut unnecessary calls to find_among, porting an optimization from the
C generator. In some stemming benchmarks this improves the performance
of the rust english stemmer by about 27%. Patch from jedav (#202).
* Code quality:
+ Suppress unused_parens warning, for example triggered by the code generated
for `$x = x*x` (where `x` is an integer).
+ Dispatch `among` result with `match` instead of an `if` ... `else if` chain
(which looks like we did because the Rust generator evolved from the Python
generator and Python didn't used to have a switch-like construct. This
results in a 3% speed-up for an unoptimised Rust compile but doesn't seem
to make a measurable difference when optimising so it seems the Rust
compiler is optimising both to equivalent code. However using a `match`
here seems clearer, a better match for the intent, and is a bit simpler to
generate.
+ Generate Rust with UTF-8 source encoding. This makes the generated code
easier to follow, which helps during development. It's also a bit smaller.
For now codepoints U+0590 and above are still emitted as escape sequences
to avoid confusing source code rendering when LTR scripts are involved.
New stemming algorithms
-----------------------
* Add Esperanto stemmer from David Corbett (#185).
* Add Estonian algorithm from Linda Freienthal (#108).
Behavioural changes to existing algorithms
------------------------------------------
* Dutch: Switch to Kraaij-Pohlmann as the default for Dutch. In case you
want Martin Porter's Dutch stemming algorithm for compatibility, this is now
available as `dutch_porter`. Fixes #1, reported by gboer.
* Dutch (Kraaij-Pohlmann): Fix differences between the Snowball implementation
and the original C implementation.
* Dutch (Kraaij-Pohlmann): Add a small number of exceptions to the Snowball
implementation to avoid unwanted conflations. This addresses all cases so
far identified which Martin's Dutch stemmer handled better. Fixes #208.
* Dutch (Porter): The "at least 3 characters" part of the R1 definition was
actually implemented such that when working in UTF-8 it was "at least 3
bytes". We stripped accents normally found in Dutch except for `è` before
setting R1, and no Dutch words starting `è` seem to stem differently
depending on encoding, but proper nouns and other words of foreign origin may
contain other accented characters and it seems better for the stemmer to
handle such words the same way regardless of the encoding in use.
* English: Replace '-ogist' with '-og' to conflate "geologist" and "geology", etc.
Suggested by Marc Schipperheijn on snowball-discuss.
* English: Add extra condition to undoubling. We no longer undouble if the
double consonant is preceded by exactly "a", "e" or "o" to avoid conflating
"add"/"ad", "egg"/"eg", "off"/"of", etc. Fixes #182, reported by Ed Page.
* English: Avoid conflating 'emerge' and 'emergency'. Reported by Frederick Ross
on snowball-discuss.
* English: Avoid conflating 'evening' and 'even'. Reported by Ann B on
snowball-discuss.
* English: Avoid conflating 'lateral' and 'later'. Reported by Steve Tolkin on
snowball-discuss.
* English: Avoid conflating 'organ', 'organic' and 'organize'.
* English: Avoid conflating 'past' and 'paste'. Reported by Sonny on
snowball-discuss.
* English: Avoid conflating 'universe', 'universal' and 'university'. Reported
by Clem Wang on snowball-discuss.
* English: Handle -eed and -ing exceptions in their respective rules.
This avoids the overhead of checking for them for the majority of
words which don't end -eed or -ing. It also allows us to easily handle
vying->vie and hying->hie at basically no extra cost. Reduces the time to
stem all words in our English word list by nearly 2%.
* French: Remove elisions as first step. See #187. Originally reported by
Paul Rudin and kelson42.
* French: Remove -aise and -aises so for example, "française" and "françaises"
are now conflated with "français". Fixes #209. Originally reported by
ririsoft and Fred Fung.
* French: Avoid incorrect conflation of `mauvais` (bad) with `mauve` (mauve,
mallow or seagull); avoid conflating `mal` with `malais`, `pal` with
`palais`, etc.
* French: Avoid conflating `ni` (neither/nor) with `niais`
(inexperienced/silly) and `nie`/`nié`/`nier`/`nierais`/`nierons` (to deny).
* French: -oux -> -ou. Fixes #91, reported by merwok.
* German: Replace with the "german2" variant. This normalises umlauts ("ä" to
"ae", "ö" to "oe", "ü" to "ue") which is presumably much less common in
newly created text than it once was as modern computer systems generally
don't have the limitations which motivated this, but there will still be
large amounts of legacy text which it seems helpful for the stemmer to
handle without having to know to select a variant.
On our sample German vocabulary which contains 35033 words, 77 words give
different stems. A significant proportion of these are foreign words, and
some are proper nouns. Some cases definitely seem improved, and quite a few
are just different but effectively just change the stem for a word or group
of words to a stem that isn't otherwise generated. There don't seem any
changes that are clearly worse, though there are some changes that have both
good and bad aspects to them.
Fixes #92, reported by jrabensc.
* German: Don't remove -em if preceded by -syst to avoid overstemming words
ending -system. This change means we now conflate e.g. "system" and
"systemen". Partly addresses #161, reported by Olga Gusenikova.
* German: Remove -erin and -erinnen suffixes which conflates singular and
plural female versions of nouns with the male versions. Fixes #85 and
partly addresses #161, reported by Olga Gusenikova.
* German: Replace -ln and -lns with -l. This improves 82 cases in the current
sample data without making anything worse. Tests on a larger word list look
good too. Partly addresses #161, reported by Olga Gusenikova.
* German: Remove -et suffix when we safely can. Fixes #200, reported by Robert
Frunzke.
* Greek: Fix "faulty slice operation" for input `ισαισα`. The fix changes
`ισα` to stem to `ισ` instead of the empty string, which seems better (and to
be what the second paper actually says to do if read carefully). Fixes #204,
reported by subnix.
* Italian: Address overstemming of "divano" (sofa) which previously stemmed to
"div", which is the stem for 'diva' (diva). Now it is stemmed to 'divan',
which is what its plural form 'divani' already stemmed to. Fixes #49,
reported by francesco.
* Norwegian: Improve stemming of words ending -ers. Fixes #175, reported by
Karianne Berg.
* Norwegian: Include more accented vowels - treating "ê", "ò", "ó" and "ô"
as vowels improves the stemming of a fairly small number of words, but
there's basically no cost to having extra vowels in the grouping, and some
of these words are commonly used. Fixes #218, reported by András Jankovics.
* Romanian: Fix to work with Romanian text encoded using the correct Unicode
characters. Romanian uses a "comma below" diacritic on letters "s" and "t"
("ș" and "ț"). Before Unicode these weren't easily available so Romanian
text was written using the visually similar "cedilla" diacritic on these
letters instead ("ş" and "ţ"). Previously our stemmer only recognised the
latter. Now it maps the cedilla forms to "comma below" as a first step.
Patch from Robert Muir.
* Spanish: Handle -acion like -ación and -ucion like -ución. It's apparently
common to miss off accents in Spanish, and there are examples in our test
vocabulary that these change helps. Proposed by Damian Janowski.
* Swedish: Replace suffix "öst" with "ös" when preceded by any of 'iklnprtuv'
rather than just 'l'. The new rule only requires the "öst" to be in R1
whereas previously we required all of "löst" to be. This second tweak
doesn't seem to affect any words ending "löst" but it conflates a few extra
cases when combined with the expanded list of preceding letters, and seems
more logical linguistically (since "ös" is akin to "ous" in English). Fixes
#152, reported by znakeeye.
* Swedish: Remove -et/-ets in cases where it helps. Removing -et can't be done
unconditionally because many words end in -et where this isn't a suffix.
However it's a very common suffix so it seems worth crafting a more complex
condition under which to remove. Fixes #47.
* Turkish: Remove proper noun suffixes. For example, `Türkiye'dir` ("it is
Turkey") is now conflated with `Türkiye` ("Turkey"). Fixes #188.
* Yiddish: Avoid generating empty stem for input "גע" (not a valid word, but
it's better to avoid an empty stem for any non-empty input).
Optimisations to existing algorithms
------------------------------------
* General change: Use `gopast` everywhere to establish R1 and R2 as it is a
little more efficient to do so.
* Basque: Use an empty action rather than replacing the suffix with itself
which seems clearer and is a little more efficient.
* Dutch (Porter): Optimise prelude routine.
* English: Remove unnecessary exception for `skis` as the algorithm stems
`skis` to `ski` by itself (`skies` and `sky` do still need a special case to
avoid conflation with `ski` though).
* Hungarian: We no longer take digraphs into account when determining where R1
starts. This can only make a difference to the stemming if we removed a
suffix that started with the last character of the digraph (or with "zs" in
the case of "dzs"), and that doesn't happen for any of the suffixes we remove
for any valid Hungarian words. This simplification speeds up stemming by
~2% on the current sample vocabulary list. See #216. Thanks to András
Jankovics for confirming no Hungarian words are affected by this change.
* Lithuanian: Remove redundant R1 check.
* Nepali: Eliminate redundant check_category_2 routine.
* Tamil: Optimise by using `among` instead of long `or` chains. The generated
C version now takes 43% less time to processes the test vocabulary.
* Tamil: Remove many cases which can't be triggered due to being handled by
another case.
* Tamil: Clean up some uses of `test`.
* Tamil: Make `fix_va_start` simpler and faster.
* Tamil: Localise use of `found_a_match` flag.
* Tamil: Eliminate pointless flag changes.
* Turkish: Minor optimisations.
Code clarity improvements to existing algorithms
------------------------------------------------
* Stop noting dates changes were made in comments in the code - we now maintain
a changelog in each algorithm's description page on the website (and the
version control history provides a finer grained view).
* Always use `insert` instead of `<+` as the named command seems clearer.
* English: Add comments documenting motivating examples for all exceptional
cases.
* Lithuanian: Change to recommended latin stringdef codes. Using common codes
makes it easier to work across algorithms, but they are more mnemonic so also
seem clearer when just considering this one algorithm.
* Serbian: Change to recommended latin stringdef codes. Using common codes
makes it easier to work across algorithms, but they are more mnemonic so also
seem clearer when just considering this one algorithm.
* Turkish: Use `{sc}` for s-cedilla and `{i}` for dotless-i to match other
uses.
Compiler
--------
* Generic code generation improvements:
+ Show Snowball source leafname in "generated" comment at start of files.
+ Add generic reachability tracking machinery. This facilitates various new
optimisations, so far the following have been implemented:
- Tail-calling
- Simpler code for calling routines which always give the same signal
- Simpler code when a routine ends in a integer test (this also allows
eliminating an Ada-specific codegen optimisation which did something
similar but only for routines which consisted *entirely* of a single
integer test.
- Dead code reporting and removal (only in simple cases currently)
Currently this overlaps in functionality with the existing reachability
tracking which is implemented on a per-language basis, and only for some
languages. This reachability tracking was originally added for Java
where some unreachable code is invalid and result in a compile time error,
but then seems to have been copied for some other newer languages which
may or may not actually need it. The approach it uses unfortunately
relies on correctly updating the reachability flag anywhere in the
generator code where reachability can change which has proved to be a
source of bugs, some unfixed. This new approach seems better and with some
more work should allow us to eliminate the older code. Fixes #83.
+ Omit check for `among` failing in generated code when we can tell at
compile time that it can't fail.
+ Optimise `goto`/`gopast` applied to a grouping or inverted grouping (which
is by far the most common way to use `goto`/`gopast`) for all target
languages (new for Go, Java, Javascript, Pascal and Rust).
+ We never need to restore the cursor after `not`. If `not` turns signal `f`
into `t` then it sets `c` back to its old position; otherwise, `not`
signals `f` and `c` will get reset by whatever ultimately handles this `f`
(or the program exits and the position of `c` no longer matters). This
slightly improves the generated code for the `english` and `porter`
stemmers.
+ Don't generate code for undefined or unused routines.
+ Avoid generating variable names and then not actually using them. This
eliminates mysterious gaps in the numbering of variables in the generated
code.
+ Eliminate `!`/`not` from integer test code by generating the inverse
comparison operator instead for all languages, e.g. for Python we now
generate
if self.I_p1 >= self.I_x:
instead of
if not self.I_p1 < self.I_x:
This isn't going to be faster in compiled languages with an optimiser but
for scripting languages it may be faster, and even if not, it makes for a
little less work when loading the script.
+ Canonicalise `hop 1` to `next` as the generated code for `next` can be
slightly more efficient. This will also apply to `hop` followed by a
constant expression which Snowball can reduce to `1`.
+ Avoid trailing whitespace in generated files.
+ Fix problems with --comments option:
- When generating C code we would segfault for code containing `atleast`,
`hop` or integer tests.
- Fix missing comments for some commands in some target languages.
- Fix inconsistent formatting of comments in some target languages.
- Comments in C are now always on their own line - previously some were
after at the end of the line and some on their own line which made them
harder to follow.
- Emit comments before `among` and before routine/external definitions.
+ Simplify more cases of numeric expressions (e.g. `x * 1` to `x`).
* Improve --help output.
* Division by zero during constant folding now gives an error.
* For `hop` followed by an unexpected token (e.g. `hop hop`) we were
already emitting a suitable error but would then segfault.
* Emit error for redefinition of a grouping.
* Improve errors for `define` of an undeclared name. We already peek at the
next token to decide whether to try to parse as a routine or grouping.
Previously we parsed as a routine if it was `as`, and a grouping otherwise,
but routine definitions are more common and a grouping can only start with
a literal string or a name, so now we assume a routine definition with a
missing `as` if the next token isn't valid for either.
* Suppress duplicate (or even triplicate) "unexpected" errors for the same
token when the compiler tried to recover from the error by adjusting the
parse stare and marking the token to be reparsed, but the same token then
failed to parse in the new state.
* Fix NULL pointer dereference if an undefined grouping is used in the
definition of another grouping.
* Fix mangled error for `set` or `unset` on a non-boolean:
test.sbl:2: nameInvalid type 98 in name_of_type()
* Emit warning if `=>` is used. The documentation of how it works doesn't
match the implementation, and it seems it has only ever been used in the
Schinke stemmer implementation (which assumes the implemented behaviour).
We've updated the Schinke implementation to avoid it. If you're using it
in your own Snowball code please let us know.
* Improve errors for unterminated string literals.
* Fix NULL pointer dereference on invalid code such as `$x = $y`.
* If malloc fails while compiling the compiler will now report the failure
and exit. Previously the NULL return from malloc wasn't checked for so
we'd typically segfault.
* `lenof` and `sizeof` applied to a string variable now mark the variable
as used, which avoids a bogus error followed by a confusing additional
message if this is the only use of that variable:
lenofsizeofbug.sbl:3: warning: string 's' is set but never used
Unhandled type of dead assignment via sizeof
This is situation is unlikely to occur in real world code.
* The reported line number for "string not terminated" error was one too high
in the case where we were in a stringdef (but correct if we weren't).
* Eliminate special handling for among starter. We now convert the starter
to be a command before the among, adding an explict substring if there
isn't one.
* We now warn if the body of a `repeat` or `atleast` loop always signals
`t` (meaning it will loop forever which is very undesirable for a stemming
algorithm) or always signals `f` (meaning it will never loop, which seems
unlikely to be what was intended).
* Release memory in compiler before exit. The OS will free all allocated
memory when a process exits, so this memory isn't actually leaked, but it can
be annoying with when using snowball as part of a larger build process with
some leak-finding tools. Patch from jsteemann in #166.
* Store textual data more efficiently in memory during Snowball compilation.
Previously almost all textual data was stored as 16 bit values, but most
such data only uses 8 bit character values. Doubling the memory usage
isn't really an issue as Snowball programs are tiny, but this also
complicated code handling such data. Now only literal strings use the
16 bit values.
* Fix clang -Wunused-but-set-variable warning in compiler code.
* Fix a few -Wshadow warnings in compiler and enable this warning by default.
* Tighten parsing of `writef()` format strings. We now error out on
unrecognised escape codes or if a numbered escape is used with too high a
number or a non-digit. This change reveals that the Go and Rust generators
were using invalid escape ~A - the old writef() code was substituting this
with just A which is what is wanted so this case was harmless but being
lenient here could hide bugs, especially when copying code between
generators as they don't all support the same set of format codes.
Build system
------------
* Turn on Java warnings and make them errors.
* Compile C code with -g by default. This makes debugging easier, and
matches the default for at least some other build systems (e.g. autotools).
* Fix "make clean" to remove all built Ada files.
* Clean `stemtest` too. Patch from Stefano Rivera.
* Add missing `COMMON_FILES` dependency to dist targets.
* GNUmakefile: Tidy up and make more consistent
* GNUmakefile: Make use of $* to improve speed and readability.
* Use $(patsubst ...) instead of sed in .java.class rule which gives cleaner
make output and is a bit more efficient.
* Add `WERROR` make variable to provide a way to add `-Werror` to existing
CFLAGS.
libstemmer
----------
Testsuite
---------
* Give a clear error if snowball-data isn't found. Fixes #196, reported by
Andrea Maccis.
* Handle not thinning testdata better. If THIN_FACTOR is set to 1 we no longer
run gzipped test data through awk. We also now handle THIN_FACTOR being set
empty as equivalent to 1 for convenience.
* csharp_stemwords: Correctly handle a stemmer name containing an underscore.
* csharp_stemwords: Make `-i` option optional and read from stdin if omitted,
like the C version does.
* csharp_stemwords: Process the input line by line which is more helpful for
interactive testing, and also a little faster.
* Fix Java TestApp to allow a single argument. The documented command line
syntax is that you only need to specify the language and there was already
code to read from stdin if no input file was specified, but at least two
command line options were required.
* Fix deprecation warning in TestApp.java.
* Optimise TestApp.java by creating fewer objects. Patch from Robert Muir.
* stemwords.py: We no longer create an empty output file if we fail to open the
input file.
* stemwords: Improve error message to say "Out of memory or internal error"
rather than just "Out of memory".
Documentation
-------------
* Include "what is stemming" section in each README.
* Include section on threads in each README. Based on patch for Python from
dbcerigo.
* Document that input should be lowercase with composed accents. See #186,
reported by 1993fpale.
* Add README section on building, including notes on cross-compiling. Fixes
#205, reported by sin-ack.
* CONTRIBUTING.rst: Clarify which charsets to list
* CONTRIBUTING.rst: Add general advice section. In particular, note to use
spaces-only for indentation in most cases. Thanks to Dmitry Shachnev for
raising this point.
* CONTRIBUTING.rst: Note that UTF-8 is OK in comments. Thanks to Dmitry
Shachnev for asking.
* Fix some typos. Patch from Josh Soref.
* Document that our CI now uses github actions.
* Update link to Greek stemmer PDF. Patch from Michael Bissett (#33).
Snowball 2.2.0 (2021-11-10)
===========================
New Code Generators
-------------------
* Add Ada generator from Stephane Carrez (#135).
Javascript
----------
* Fix generated code to use integer division rather than floating point
division.
Noted by David Corbett.
Pascal
------
* Fix code generated for division. Previously real division was used and the
generated code would fail to compile with an "Incompatible types" error.
Noted by David Corbett.
* Fix code generated for Snowball's `minint` and `maxint` constant.
Python
------
* Python 2 is no longer actively supported, as proposed on the mailing list:
https://lists.tartarus.org/pipermail/snowball-discuss/2021-August/001721.html
* Fix code generated for division. Previously the Python code we generated
used integer division but rounded negative fractions towards negative
infinity rather than zero under Python 2, and under Python 3 used floating
point division.
Noted by David Corbett.
Code quality Improvements
-------------------------
* C/C++: Generate INT_MIN and INT_MAX directly, including <limits.h> from
the generated C file if necessary, and remove the MAXINT and MININT macros
from runtime/header.h.
* C#: An `among` without functions is now generated as `static` and groupings
are now generated as constant. Patches from James Turner in #146 and #147.
Code generation improvements
----------------------------
* General:
+ Constant numeric subexpressions and constant numeric tests are now
evaluated at Snowball compile time.
+ Simplify the following degnerate `loop` and `atleast` constructs where
N is a compile-time constant:
- loop N C where N <= 0 is a no-op.
- loop N C where N == 1 is just C.
- atleast N C where N <= 0 is just repeat C.
If the value of N doesn't depend on the current target language, platform
or Unicode settings then we also issue a warning.
Behavioural changes to existing algorithms
------------------------------------------
* german2: Fix handling of `qu` to match algorithm description. Previously
the implementation erroneously did `skip 2` after `qu`. We suspect this was
intended to skip the `qu` but that's already been done by the substring/among
matching, so it actually skips an extra two characters.
The implementation has always differed in this way, but there's no good
reason to skip two extra characters here so overall it seems best to change
the code to match the description. This change only affects the stemming of
a single word in the sample vocabulary - `quae` which seems to actually be
Latin rather than German.
Optimisations to existing algorithms
------------------------------------
* arabic: Handle exception cases in the among they're exceptions to.
* greek: Remove unused slice setting, handle exception cases in the among
they're exceptions to, and turn `substring ... among ... or substring ...
among ...` into a single `substring ... among ...` in cases where it is
trivial to do so.
* hindi: Eliminate the need for variable `p`.
* irish: Minor optimisation in setting `pV` and `p1`.
* yiddish: Make use of `among` more.
Compiler
--------
* Fix handling of `len` and `lenof` being declared as names.
For compatibility with programs written for older Snowball versions
len and lenof stop being tokens if declared as names. However this
code didn't work correctly if the tokeniser's name buffer needed to
be enlarged to hold the token name (i.e. 3 or 5 elements respectively).
* Report a clearer error if `=` is used instead of `==` in an integer test.
* Replace a single entry command list with its contents in the internal syntax
tree. This puts things in a more canonical form, which helps subsequent
optimisations.
Build system
------------
* Support building on Microsoft Windows (using mingw+msys or a similar
Unix-like environment). Patch from Jannick in #129.
* Split out INCLUDES from CPPFLAGS so that CPPFLAGS can now be overridden by
the user if required. Fixes #148, reported by Dominique Leuenberger.
* Regenerate algorithms.mk only when needed rather than on every `make` run.
libstemmer
----------
* The libstemmer static library now has a `.a` extension, rather than `.o`.
Patch from Michal Vasilek in #150.
Testsuite
---------
* stemtest: Test that numbers and numeric codes aren't damaged by any of the
algorithms. Regression test for #66. Fixes #81.
* ada: Fix ada tests to fail if output differs. There was an extra `| head
-300` compared to other languages, which meant that the exit code of `diff`
was ignored. It seems more helpful (and is more consistent) not to limit how
many differences are shown so just drop this addition.
* go: Stop thinning testdata. It looks like we only are because the test
harness code was based on that for rust, which was based on that for
javascript, which was only thinning because it was reading everything into
memory and the larger vocabulary lists were resulting in out of memory
issues.
* javascript: Speed up stemwords.js. Process input line-by-line rather than
reading the whole file into memory, splitting, iterating, and creating an
array with all the output, joining and writing out a single huge string.
This also means we can stop thinning the test data for javascript, which we
were only doing because the huge arabic test data file was causing out of
memory errors. Also drop the -p option, which isn't useful here and
complicates the code.
* rust: Turn on optimisation in the makefile rather than the CI config. This
makes the tests run in about 1/5 of the time and there's really no reason to
be thinning the testdata for rust.
Documentation
-------------
* CONTRIBUTING.rst: Improve documentation for adding a new stemming algorithm.
* Improve wording of Python docs.
netbsd-srcmastr
pushed a commit
that referenced
this pull request
May 18, 2025
1.6.1 (2025-03-25) * Performed further work on Diff::LCS::Ldiff improvements (#46) and resolve several thread safety issues cleanly by making it a class. #129 * Restructure the project to be more consistent with the rest of the projects that I manage. * Increased GitHub action security. * Added trusted publishing for fully automated releases. 1.6.2 (2025-05-12) * Handle upcoming changes to the cgi gem in Ruby 3.5 (#147) * Fix issues found with htmldiff in Ruby 1.8 (which is used approximately never, since the code change which broke Ruby 1.8 was made 6 years ago). #148 * Fixed some standardrb formatting and configuration issues.
netbsd-srcmastr
pushed a commit
that referenced
this pull request
May 18, 2025
3.0.0 (2025-04-25) What's Changed * Feat/updates sept 24 by @whomwah in #146 * Update FUNDING.yml by @whomwah in #147 * chore: Updating dependencies and drop Ruby < 3 by @whomwah in #148 3.1.0 (2025-04-28) What's Changed * Correct link and version of rqrcode_core in CHANGELOG.md by @prognostikos in #154 * feat: Enhance SVG export with offset_x and offset_y options by @whomwah in #153 * docs: Update README.md by @whomwah in #155 New Contributors * @prognostikos made their first contribution in #154
netbsd-srcmastr
pushed a commit
that referenced
this pull request
May 23, 2025
# changes * trap: Implement POSIX.1-2024 requirements by @magicant in #115 * read: Avoid crash in interactive shell by @magicant in #116 * history: Work around glibc's fsetpos bug by @magicant in #117 * add completion for make variant commands by @unrealapex in #110 * Update Git completion by @magicant in #120 * wait: Don't return when the target process is suspended by @magicant in #121 * Support POSIX.1-2024 read built-in behavior (except byte-wise field splitting) by @magicant in #123 * Change false, pwd, and true to substitutive built-ins by @c0d3-br3ak9r in #124 * Reject empty operand in cd built-in by @c0d3-br3ak9r in #126 * Ignore remaining commands after a foreground job stops by @magicant in #143 * Treat a job as suspended when any child process suspends by @magicant in #144 * Noglob when splitting $CDPATH at colons in cd and pushd completion by @magicant in #147 * add completion for fnf by @unrealapex in #140 * add completion for 'cmus' and 'cmus-remote' by @unrealapex in #141 * add completion for 'catgirl' by @unrealapex in #142 * Ignore SIGTSTP in process redirection subshells by @magicant in #148 * Add macOS workaround for test of suspended job by @magicant in #150 * Job control without a control terminal by @magicant in #149 * Discard remaining commands on shell errors if interactive by @magicant in #151 * Filter '.' and '..' from wglob results by @eilefsen in #152 * Report job number and PID for async commands in interactive shell by @magicant in #155 * Propagate signal exit status to parent process by @magicant in #156 * printf: Reject redundant character in numeric operand by @magicant in #157 * Reject multiple pathname expansion results in redirection operands by @magicant in #158 * Set interactive automatically even with positional parameters by @magicant in #160 * test: Reject -a, -o, and parentheses in POSIXly-correct mode by @magicant in #161 * Fix default exit status of exit built-in in trap action by @magicant in #162 * Keep empty tilde expansion from empty field removal by @magicant in #164 * Remove redundant trailing slash in tilde expansion by @magicant in #166 * Reject {n} redirection prefix by @magicant in #167 * Document hashondef and nolog options for POSIX.1-2024 by @magicant in #168 * Treatment of variables that should not be made readonly by @magicant in #169 * Reject making LINENO, OLDPWD, OPTARG, OPTIND, and PWD readonly by @magicant in #170
netbsd-srcmastr
pushed a commit
that referenced
this pull request
Jun 12, 2025
v1.12.1 What's Changed - Fixed misuse of entry_point parameter in localization by @Etto48 in #147 - Added Turkish translation by @orhun, @arda-guler in #139 - Reviewed Spanish translation by @chocolatemilq in #146 - Reviewed French translation by @Pallandos in #148 v1.12.0 What's Changed - Add zh-CN translation and generate zh-HK and zh-TW translations via O… by @Meow0x7E in #136 - Feature/i18n by @Etto48 in #137
netbsd-srcmastr
pushed a commit
that referenced
this pull request
Nov 1, 2025
add: example projects for testing and debugging by @anistark in #146 build(deps): bump requests from 2.31.0 to 2.32.4 in /examples/python-example in the pip group across 1 directory by @dependabot[bot] in #147 refactor: improve error handling by @anistark in #148 Create FUNDING.yml by @anistark in #149 feat: R projects support. only direct dependency check by @anistark in #150 refactor: strict to restrictive flag change. [breaking change] by @anistark in #152 feat: add configurable strictness mode with --strict flag for license parser by @anistark in #153 refactor: remove v1.8.5 backward compatibility re-exports by @anistark in #154 feat: improve Python environment marker parsing with PEP 508 support by @anistark in #155
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
C.1.1 Version 2.16.03
This is a source build machinery and documentation update only. There are no functionality changes.
C.1.2 Version 2.16.02