Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Investigate sysbench mysql issue #339

Open
jperkin opened this issue Jul 6, 2022 · 1 comment
Open

Investigate sysbench mysql issue #339

jperkin opened this issue Jul 6, 2022 · 1 comment
Assignees

Comments

@jperkin
Copy link
Collaborator

jperkin commented Jul 6, 2022

Nick mentioned sysbench depending on mariadb causing issues, dig into possibly making this multi-version, or ideally version-agnostic.

@jperkin jperkin self-assigned this Jul 6, 2022
@nwilkens
Copy link
Member

nwilkens commented Jul 6, 2022

Attempting to install sysbench to benchmark MariaDB (or Percona).

pkgin install sysbench

calculating dependencies...done.

3 packages to install:
sysbench-0.4.12nb10 postgresql13-client-13.5nb1 mariadb-client-10.6.7

Would like to use sysbench with a recent mariadb (or Percona) server version.

Additionally, I tried to install and ran into compatibility issues since I was using Postgres 14.

jperkin pushed a commit that referenced this issue Sep 10, 2022
Here is quote from release note.

1.5.0 (2022-09-08)

Added

* SQLite3::SQLITE_LOADED_VERSION contains the version string of the sqlite3
  library that is dynamically loaded (compare to SQLite3::SQLITE_VERSION
  which is the version at compile-time).

Fixed

* SQLite3::Database#load_extensions now raises a TypeError unless a String
  is passed as the file path.  Previously it was possible to pass a
  non-string and cause a segfault.  [#339]
gco pushed a commit to gco/pkgsrc that referenced this issue Sep 11, 2022
pkgsrc change: Update HOMEPAGE to GitHUb.

Here are quote from changes of two minor release, for full change, please
refer: <https://github.com/ged/ruby-pg/blob/master/History.rdoc>.

1.4.0 (2022-06-20)

Added:
* Add PG::Connection#hostaddr, present since PostgreSQL-12. #453
* Add PG::Connection.conninfo_parse to wrap PQconninfoParse. #453

Bugfixes:
* Try IPv6 and IPv4 addresses, if DNS resolves to both. #452
* Re-add block-call semantics to PG::Connection.new accidently removed in pg-1.3.0. #454
* Handle client error after all data consumed in #copy_data for output. #455
* Avoid spurious keyword argument warning on Ruby 2.7. #456
* Change connection setup to respect connect_timeout parameter. #459
* Fix indefinite hang in case of connection error on Windows #458
* Set connection attribute of PG::Error in various places where it was missing. #461
* Fix transaction leak on early break/return. #463
* Update Windows fat binary gem to OpenSSL-1.1.1o and PostgreSQL-14.4.

Enhancements:
* Don't flush at each put_copy_data call, but flush at get_result. #462

1.3.0 (2022-01-20)

Install Enhancements:
* Print some install help if libpq wasn't found. #396 This should help to
  pick the necessary package without googling.
* Update Windows fat binary gem to OpenSSL-1.1.1m and PostgreSQL-14.1.
* Add binary Windows gems for Ruby 3.0 and 3.1.
* Make the library path of libpq available in ruby as
  PG::POSTGRESQL_LIB_PATH and add it to the search paths on Windows similar
  to rpath on Unix systems. TritonDataCenter#373
* Fall back to pkg-config if pg_config is not found. TritonDataCenter#380
* Add option to extconf.rb to disable nogvl-wrapping of libpq functions. All
  methods (except PG::Connection.ping) are nonblocking now, so that GVL
  unlock is in theory no longer necessary. However it can have some
  advantage in concurrency, so that GVL unlock is still enabled by
  default. Use:

	gem inst pg – –disable-gvl-unlock

API Enhancements:

* Add full compatibility to Fiber.scheduler introduced in Ruby-3.0. #397
* Add support for pipeline mode of PostgreSQL-14. #401
* Allow specification of multiple hosts in PostgreSQL URI. TritonDataCenter#387
* Add new method conn.backend_key - used to implement our own cancel method.

Type cast enhancements:
* Add PG::BasicTypeMapForQueries::BinaryData for encoding of bytea columns. TritonDataCenter#348
* Reduce time to build coder maps and permit to reuse them for several type
  maps per PG::BasicTypeRegistry::CoderMapsBundle.new(conn) . TritonDataCenter#376
* Make BasicTypeRegistry a class and use a global default instance of
  it. Now a local type registry can be instanciated and given to the type
  map, to avoid changing shared global states.
* Allow PG::BasicTypeMapForQueries to take a Proc as callback for undefined types.

Other Enhancements:
* Convert all PG classes implemented in C to TypedData objects. TritonDataCenter#349
* Support ObjectSpace.memsize_of(obj) on all classes implemented in C. TritonDataCenter#393
* Make all PG objects implemented in C memory moveable and therefore
  GC.compact friendly. TritonDataCenter#349
* Update errorcodes and error classes to PostgreSQL-14.0.
* Add PG::CONNECTION_* constants for conn.status of newer PostgreSQL versions.
* Add better support for logical replication. TritonDataCenter#339
* Change conn.socket_io to read+write mode and to a BasicSocket object
  instead of IO.
* Use rb_io_wait() and the conn.socket_io object if available for better
  compatibility to Fiber.scheduler . Fall back to rb_wait_for_single_fd() on
  ruby < 3.0.
* On Windows use a specialized wait function as a workaround for very poor
  performance of rb_io_wait(). #416

Bugfixes:
* Release GVL while calling PQping which is a blocking method, but it didn't
  release GVL so far.
* Fix Connection#transaction to no longer block on interrupts, for instance
  when pressing Ctrl-C and cancel a running query. TritonDataCenter#390
* Avoid casting of OIDs to fix compat with Redshift database. TritonDataCenter#369
* Call conn.block before each conn.get_result call to avoid possible
  blocking in case of a slow network and multiple query results.
* Sporadic Errno::ENOTSOCK when using conn.socket_io on Windows #398

Deprecated:
* Add deprecation warning to PG::BasicTypeRegistry.register_type and siblings.

Removed:
* Remove support of ruby-2.2, 2.3 and 2.4. Minimum is ruby-2.5 now.
* Remove support for PostgreSQL-9.2. Minimum is PostgreSQL-9.3 now.
* Remove constant PG::REVISION, which was broken since pg-1.1.4.

Repository:
* Replace Hoe by Bundler for gem packaging
* Add Github Actions CI and testing of source and binary gems.
jperkin pushed a commit that referenced this issue Apr 28, 2023
Aleph One 1.6.1
===============

This is a bugfix release:

  * Be less aggressive with mega honk fix
  * Fixes Linux builds without ffmpeg
  * Fixes a crash when a Lua script adds a side and interpolation is enabled (#321)
  * Fixes the classic aim limits checkbox
  * Adds support for FLAC playback (MML music only)
  * Fix cinematic fade in when the transition period is low
  * Works around a change in the latest SDL behavior on Macs (#398)
  * Changes the flatpak identifier to match the existing macOS bundle identifier

Aleph One 1.6
=============

This is a maintenance release, with mostly bug fixes and library and build system updates. We have also added Linux Flatpaks to
make installing the games easier in Linux.

Deprecations:

  * <shader> debug MML is deprecated and will be removed in a future release
  * The network microphone is deprecated and will be removed in a future release. The net mic key will be repurposed as a Lua
    trigger.

Changes:

  * Updated to SDL 2.24 for improved controller support
  * Aleph One now requires a C++17 compiler
  * (Lua) Allow passing nil to Monster:attack (#331)
  * (Lua) Add Platform.tag accessor (#373)
  * Remove classic aim limits from modern mouse feel; add a checkbox for classic aim limits
  * Lower default mouse sensitivity
  * Disable 3D perspective by default
  * Rename "Interface Button Sounds" checkbox to "In Game F-Key Sounds" (#255)
  * Disable transparent liquids by default in Marathon 2 and Marathon Infinity; they can be enabled by going to Environment ->
    Plugins and enabling the Transparent Liquids plugin
  * (Lua) added Game.replay for detecting whether a game is film replay

Fixes:

  * Fix teleporting in weapon effect on 60fps + (#308)
  * Fix the enhanced HUD with software renderer (#334)
  * Fix HUD not resizing when changing resolution `(#309)
  * Fix blank frame on map overlay transition in OpenGL mode (#265)
  * Restore screen flash for Marathon 1 when teleporting in (#336)
  * Fix UPnP checkbox not working in resume net game dialog (#337)
  * Fix platform textures when exporting a level
  * Fix assert thrown on network game when teleporting to another level with disconnected player (#66)
  * Fix controller feel analog/d-pad when saving prefs (#160)
  * Fix intro video not rendering when no audio stream; fixes EVIL's opening movie (#346)
  * Fix missing initialization in Lua damage_player (#348)
  * Fix the MegaHonk. RIP MegaHonk. (#339)
  * Add suport for ffmpeg 5 (#349)
  * Fix a Linux segfault at shutdown (#340)
  * Allow binding mouse buttons to forward/backward/sidestep (#333)
  * Remove the Vidmaster Oath from Marathon 1 (#355)
  * Fix MML plugin replacement font erased on first level load (#364)
  * Use GL_MIRRORED_REPEAT instead of GL_MIRRORED_REPEAT_ARB; fixes solid colored landscape on some OpenGL drivers
  * Implement transparency in the static shader; compilers now fade out as in software
  * Fix use of caps lock as run key (#294)
  * Suppress weapon flare when Lua cameras are in use (#316)
  * Fix default preference plugins disabling in Windows
  * Fix animated 3D models
  * Fix reloading physics model if not loaded from embedded map (#317)

Aleph One 1.5
=============

Changes:

  * Numerous bug fixes
  * Additional Lua functionality (see Lua.html)
  * Support for Apple Silicon
  * Improved UPnP router configuration support (now using miniupnp)
  * Adds an FOV override slider and warning
  * Adds a checkbox for native file dialogs (mac OS and Windows only)
  * Unbundles high-res plugins. See High-Res Replacements for separate download links.

1.5rc1 Pre-release
==================

Changes:

  * Bug fixes
  * Additional Lua functionality (see Lua.html)
  * macOS: support for Apple Silicon
  * Updated UPnP router configuration support (now using miniupnp)
  * Add an FOV override slider and warning
  * macOS and Windows: added a checkbox for native file dialogs
  * Removed high-res plugins from all-in-one downloads. There are many more options now than there were when we started bundling
    them, so this will give users more flexibility. Links to the old textures and a guide to hi-res textures will be provided soon;
    in the meantime the data files with hi-res plugins can be found in the 1.4 release.

Aleph One 1.4
=============

Note: This release is not network compatible with Aleph One 1.3 and earlier.

Changes:

  * Adds support for Lua ephemera: optional scripted effects like precipitation or gore, that can be turned on and off without
    affecting saved games, films, and net games
  * Adds a new "Editor" mode that integrates better with Weland for seamless visual mode editing
  * Adds new high frame rate interpolation. Choose 30 fps for authentic classic play, 60 fps or 120 fps capped, or unlimited fps
  * Adds many new Lua API functions. See Lua.html for details
  * Adds support for weapon hot keys. Hot keys 1-9 switch weapons, but can be overridden by Lua scripts; hot keys 10-12 are
    reserved for Lua scripts
  * Restores some retro/nostalgia features in the software renderer: every-other-line mode, and 8-bit color
  * MML/Lua can now set the maximum inventory on a per-difficulty level. This should add versatility for balancing difficulty in
    new scenarios

1.4rc1 Pre-release
==================

Changes since 1.4pre2:

  * add support for weapon hotkeys; hotkeys 1-9 switch weapons, but can be overridden by Lua; and another 3 hotkeys are available
    for Lua
  * restore some retro/nostalgia features in the software renderer: every-other-lines mode, and 8-bit mode
  * MML/Lua can now set the maximum inventory on a per-difficulty level
  * numerous new Lua API additions
  * bug fixes

Note: Aleph One 1.4rc1 is not network compatible with previous versions, due to the addition of hotkeys

1.4pre2 Pre-release
===================

Changes:

  * High frame rate interpolation; choose 30 fps for authentic classic play, 60 fps or 120 fps capped, or unlimited fps
  * New Lua API functions
  * Bug fixes

1.4pre1 Pre-release
===================

This is a preview release, with support for ephemera (optional scripted render effects like precipitation or extra gore) and a new
"editor" mode that integrates better with Weland 1.4.5

Aleph One 1.3.1
===============

Changes:

  * Fixes an issue saving/playing back Aleph One films using the original Marathon data files
  * Fixes wobble transfer mode glow maps

Aleph One 1.3
=============

Major Changes:

  * Uses SDL 2 for much-improved compatibility with new operating systems
  * Better support for game controllers
  * Better performance for the software renderer
  * Improved mouse control options, with settings for Classic and Modern mouse control
  * Better support for high-dpi displays
  * New controls dialog, which allows simultaneous key, mouse, and controller bindings
  * More authentic static effect when using OpenGL
  * Adds a stash for sharing info between Lua states
  * Better support for Unicode characters in Windows (should fix Rubicon X)
  * Better support for original Marathon scenarios including Trojan, which now works fully
  * A separate 64-bit Windows build is available
  * Better master volume and music volume controls
  * Video export bitrate depends on the video resolution, which leads to much improved export at 1080p with default settings
  * Mac apps are now notarized by Apple
  * Original games now default to more authentic settings on first install; high res plugins are still included but are not enabled
    by default

Aleph One 1.3rc1
================

 (No changes listed)

Aleph One 1.3b3
===============

 (No changes listed)

Aleph One 1.3b2
===============

 (No changes listed)

Aleph One 1.3b1 (2018-09-30)
===============

 (No changes listed)

Aleph One 1.3a1
===============

This is a pre-release to allow community members to assist in testing some internal code changes. Please see the Pfhorums thread if
you would like to help.

The latest stable release is: Aleph One 1.2.1

Aleph One 1.2.1
===============

The 1.2.1 release fixes a crashing bug when carnage message MML is used. Otherwise it is identical to the 1.2 release.

Aleph One 1.2
=============

The Aleph One 1.2 release features online leaderboards and game statistics, a streamlined saved-game system, and full multiplayer
support for the original Marathon game. This release also includes a number of other new features and bug fixes.

If you do not use the bundled downloads, we recommend that you update your scenario files. Each game includes a new plugin for the
online leaderboards, and the Marathon scenario includes an important compatibility fix.

Aleph One 1.2 is not network compatible with the previous stable release.

Online features

Aleph One now integrates with the online leaderboards and player stats at lhowon.org. Sign up within Aleph One to send your
Marathon, Marathon 2, and Marathon Infinity game results to lhowon.org, where you can see your overall win percentage, kill totals,
and more.

From the new "Internet" preferences section, you can register your chat name, opt in to player stats, and configure other options
relating to online play.

Saved games

Saving your game no longer stops the action until you type in a name. Each time you use a pattern buffer, a new saved game is
created. The "Continue Saved Game" dialog shows you the in-game location, date, and game time for every save. Use the "Load Other"
button to open a saved game from an earlier version of Aleph One.

Marathon compatibility

  * Cooperative play is now supported in the original Marathon scenario
  * Net games no longer use incorrect physics models
  * Goal checking in repair levels now matches the original game
  * Grenade trajectory in low-gravity levels now matches the original game
  * Certain terminals and rechargers could be activated when they shouldn't have been. You must use the 1.2 scenario data files to
    get this update.
  * If you have an existing saved game on an "exploration" level, you may need to re-explore the level before you can exit. We
    apologize for the inconvenience.

Lua

  * Additions to the Lua API:
      - Triggers.projectile_created()
      - Game.dead_players_drop_items
      - Level.index
      - Level.map_checksum
      - Line.visible_on_automap
      - Polygon.visible_on_automap
  * Additions to the Lua HUD API:
      - Level.name
      - Level.index
      - Level.map_checksum
  * Custom fields on projectiles, monsters, etc. are cleared when the object is destroyed
  * Lua error messages contain more diagnostic info
  * Player:find_action_key_target() no longer triggers side effects

Other changes

  * New preferences:
      - Camera Bobbing (Graphics) — if disabled, the camera and weapon will remain steady, to reduce motion sickness
      - Join Pregame Lobby by Default (Internet -> Pregame Lobby) — if checked, when you choose "Join Network Game", Aleph One
        automatically presses "Find Internet Game" on the next screen. Hold down the Alt (Option) key to join a local game.
      - Use Netscript in Films, Netscript File (Environment) — use these preferences to play back films of games recorded with
        netscripts. Solo Lua scripts are no longer loaded during playback of net game films.
  * Logging in to the pregame lobby uses HTTPS to protect your password
  * The editing cursor in text fields can be moved with the arrow keys or the mouse
  * Command history in the Lua/chat console can be accessed with the up and down arrow keys
  * Team color selection in the Join dialog is disabled when the game does not support teams
  * Plugin API changes:
      - Scenario compatibility, to create plugins that load only for specific scenarios
      - More combinations of items are allowed within a single plugin
  * The Plugins dialog (Preferences > Environment > Plugins) lists the components of each plugin
  * Lua HUD support is available by plugin only
  * A custom port can be used when gathering net games. The port number can only be changed by editing the XML preferences file.

Crashes fixed

  * Maps with invalid light indexes in OpenGL (Shader) renderer
  * 3D models lacking texture coordinates
  * #STATIC command in terminals (SF #580)
  * Joining a net game after a "map not found" film playback error (SF #504)

Graphical fixes

  * 3D models display even when their center point is behind player
  * Repair chip inventory is shown in Marathon Enhanced HUD plugin
  * Carnage messages during film replay are shown for the currently viewed player
  * Static, pulsate, and wobble transfer modes improved in OpenGL (Shader) renderer
  * <player light="..."> MML setting respected in OpenGL (Shader) renderer
  * Motion sensor on magnetic levels works properly when frame rate lags (SF #372)
  * Styled chat names display properly in pregame lobby game info dialog

Platform-specific fixes

  * Linux:
      - A new configure script now succeeds when optional dependencies are missing. The script also summarizes which features are
        enabled. Packagers should review the configure options, which have changed.
      - Aleph One builds and runs with more versions of FFmpeg / libav (SF #576, #578, #582)
      - Web links no longer cause Aleph One to become unresponsive on some systems
  * Mac OS X:
      - Drag-and-drop now works in 10.10 (Yosemite)
      - Updated third-party libraries
  * Windows:
      - The .save level console command successfully overwrites existing files
      - Updated third-party libraries

Other fixes

  * MML from solo Lua plugins is no longer loaded after all other plugins
  * Plugins ignore references to non-existent files
  * Popping is reduced in certain ambient sounds
  * Various MML settings are correctly reset when changing levels
  * Some common but unhelpful messages are no longer written to the log file
  * File-overwrite dialogs respect the "Hide file extensions" preference
  * The first save in a cooperative game is less likely to fail
  * Saving a game creates fewer temporary files
  * Solo Lua is loaded when continuing a saved game even when the map file is missing
  * Joystick/mouse buttons mapped to map or volume controls are no longer ignored
  * UPnP configuration now works with more routers
jperkin pushed a commit that referenced this issue Jun 2, 2023
# version 0.8-2

* Names are preserved when doing unit conversions; #305 @billdenney

* Identical units will always divide (`/`) and allow integer division (`%/%`).
  And, inverse units will always be able to multiply; #310 @billdenney

* Compare units via `ud_compare()`, fixing inconsistent results for aliases
  and symbols; #339, #346, #347

* Fix `units<-()` to treat an empty unit the same as `NULL`; #332

* New `as.data.frame()` method for `mixed_units`; #309

* Use short paths for database loading on Windows to fix UTF-16 issues; #342

* Add example in the docs about reversing a ggplot2 units scale; #343

* Force storage mode to double; #344 addressing #324

* Fix units in transformed axis; #323

* Consider unitless as radians in trigonometric functions; #328
jperkin pushed a commit that referenced this issue Aug 14, 2023
pkgsrc changes:
 - Remove patch-line.c: was a backport from upstream, no longer needed
 - Add patch-edit.c because several <signal.h> definitions are actually
   accessed on non-OS2 codepaths as well (noticed on NetBSD but should be
   relevant for all non-OS2 platforms)

Changes:
Major changes between "less" versions 633 and 643

* Fix problem when a program piping into less reads from the tty,
  like sudo asking for password (github #368).
* Fix search modifier ^E after ^W.
* Fix bug using negated (^N) search (github #374).
* Fix erroneous EOF when terminal window size changes (github #372).
* Fix compile error with some definitions of ECHONL (github #395).
* Fix regression in exit code when stdin is /dev/null and
  output is a file (github #373).
* Add lesstest test suite to production release (github #344).
* Change lesstest output to conform with
  automake Simple Test Format (github #399).

Major changes between "less" versions 632 and 633

* Fix build on systems which have ncurses/termcap.h or
  ncursesw/termcap.h but not termcap.h.

Major changes between "less" versions 608 and 632

* Add LESSUTFCHARDEF environment variable (github #275).
* Add # command (github #330).
* Add ^S search modifier (github #196).
* Add --wordwrap option (github #113).
* Add --no-vbell option (github #304).
* Add --no-search-headers option (github #44).
* Add --modelines option (github #89).
* Add --intr option (github #224).
* Add --proc-backspace, --proc-tab and --proc-return options (github #335).
* Add --show-preproc-errors option (github #258).
* Add LESS_LINES and LESS_COLUMNS environment variables (github #84).
* Add LESS_DATA_DELAY environment variable (github #337).
* Allow empty "lines" field in --header option.
* Update Unicode tables.
* Improve ability of ^X to interrupt F command (github #49).
* Status column (-J) shows off-screen matches.
* Parenthesized sub-patterns in searches are colored with unique colors,
  if supported by the regular expression library (github #196).
* Don't allow opening a tty as file input unless -f is set (github #309).
* Don't require newline input after +&... option (github #339).
* Fix incorrect handling of some Private Use Unicode characters.
* Fix ANSI color bug when overstriking with colored chars (github #276).
* Fix compiler const warning (github #279).
* Fix signal race in iread (github #280).
* Fix reading procfs files on Linux (github #282).
* Fix --ignore-case with ctrl-R (no regex) search (github #300).
* Fix bug doing repeat search after setting & filter (github #299).
* Fix bug doing repeat search before non-repeat search.
* Fix crash with -R and certain line lengths (github #338).
* Don't retain search options from a cancelled search (github #302).
* Don't call realpath on fake filenames like "-" (github #289).
* Implement lesstest test suite.
* Convert function parameter definitions from K&R to C89 (github #316).
jperkin pushed a commit that referenced this issue Jan 25, 2024
This version has added support for custom previewers and custom preloaders,
as well as completed most of the work on the concurrent plugin system.

In addition, it includes many performance optimizations, such as rewriting the
entire file system, refactoring the entire UI rendering architecture, enhancing
the task scheduling system, and implementing partial rendering for frequently
updated components.

This version also introduces many meaningful new features, such as path
auto-completion, real-time file filtering, Kitty Unicode placeholders
protocol support. Read the changelog below for details.

This is a breaking change version, please refer to our upgrade guide:
Migrating to Yazi v0.2.0

What's Changed
    refactor(nix): add shell completion and avoid impure by @XYenon in #293
    refactor: publish to crates.io by @sxyazi in #298
    feat: add a new Folder:icon() API to make it easier for users to extend
          icons by @sxyazi in #301
    feat: add config support for coordinate and size adjustment for ueberzugpp
          image preview by @15cm in #304
    fix: clear Sixel image with empty characters instead of \x2B[K to be
         compatible with GNOME VTE by @linsui in #309
    fix: nix flakes by @sxyazi in #306
    fix: change the rust tool chain in shell.nix from stable to nightly
         by @15cm in #314
    feat: support image preview on WSL by @sxyazi in #315
    fix: use WAYLAND_DISPLAY and DISPLAY to detect Wayland/X11 when
         XDG_SESSION_TYPE is not set by @sxyazi in #312
    fix: channel blockage caused by fuse permissions under the root user
         by @sxyazi in #321
    fix: jq previews empty when the user sets tab_size=8 by @sxyazi in #320
    chore: add .vscode and .idea to .gitignore by @XOR-op in #322
    feat: add an identifier before the extension to prevent file conflicts
          rather than after by @rick-yao in #316
    ci: add Rust target "aarch64-unknown-linux-gnu" to release workflow
        by @nifr in #326
    feat: add overlays to flake.nix by @musjj in #218
    docs: update readme links to website by @uncenter in #332
    feat: use USERPROFILE to retrieve readable path on Windows
          by @sravioli in #331
    feat: auto-completion for input component by @XOR-op in #324
    perf: fallback to plain highlighter for long text by @sxyazi in #329
    fix: the parent does not hover properly on switching the hidden state
         by @sxyazi in #339
    feat: better Zellij support with multi-factor detection involving emulator
          types by @sxyazi in #336
    fix: precache n-1 and n+1 pages by @Hanaasagi in #349
    feat: new reveal command by @sxyazi in #341
    refactor: extracting commands into separate files to make them easier to
              maintain by @sxyazi in #338
    feat: make width of completion relative to input by @XOR-op in #353
    feat: raise open file descriptors limit at startup by @sxyazi in #342
    fix: prefix matching should have higher priority in completion
         by @XOR-op in #352
    feat: display the number of deleted files in the prompt by @sxyazi in #359
    fix: Rust panics instead of returning an error when file times are
         invalid by @sxyazi in #357
    feat: add support for opening a file on startup by @sxyazi in #358
    feat: new kitty graphics protocol implementation for better compatibility
          with tmux through Unicode placeholders by @sxyazi in #365
    perf: precache small images to avoid cache misses; use symlink_metadata
          instead of metadata by @sxyazi in #367
    refactor: use more reasonable numeric field types for configs
              by @sxyazi in #368
    perf: clear only limited cells when hiding images by @sxyazi in #369
    perf: reduce peak memory footprint during decoding large images
          by @sxyazi in #375
    feat: make Input and Select positions customizable by @Hanaasagi in #361
    feat: expose image max alloc and bound to allow for more control
          by @sxyazi in #376
    feat: add more optimization options by @Walker-00 in #377
    fix: directories are recreated after deletion did not update the watcher
         tracking properly by @sxyazi in #381
    feat: make emacs readline keybindings configurable by @sxyazi in #382
    feat: cursor and page key navigation parity with Vim bindings
          by @flexiondotorg in #386
    feat: add more mime-types, file extensions and icons to the preset theme
          by @flexiondotorg in #387
    feat: include commit hash in yazi --version by @Hanaasagi in #393
    fix: popup components (Input, Select, etc.) being covered by previewed
         images by @sxyazi in #360
    fix: stepwise renaming causes uncertain sorting order by @sxyazi in #398
    refactor: move event to shared by @sxyazi in #403
    feat: support sorting by file extension by @JYShaw in #405
    refactor: integrate tasks into scheduler by @sxyazi in #406
    fix: catchup with the latest stable Rust by @XYenon in #409
    fix: build with rust-overlay by @XYenon in #410
    fix: crashes when selection indicator exceeds the visible area while a
         wrong folder_offset specified by @sxyazi in #416
    feat: new config option to suppress pre-caching tasks
          by @againstpetra in #430
    fix: do not use LuaJIT in riscv64 and loongarch64 architecture
         by @eatradish in #439
    feat: copy content over SSH by @sxyazi in #447
    feat!: custom preloader & previewer by @sxyazi in #401
    feat: filter files in real-time by @Rolv-Apneseth in #454
    fix: panic caused by set_hook by @sxyazi in #459
    feat: fine-grained scheduling priority by @sxyazi in #462
    fix: add --follow option to paste command by @eatradish in #436
    feat: support ANSI themes by @smores56 in #460
    perf: new UI rendering architecture by @sxyazi in #468
    fix: resize isn't triggered on app restoring by @sxyazi in #483
    feat: image orientation support by @sxyazi in #488
    refactor: quit command by @aserowy in #484
    feat: icon color and ordered icon rules support by @sxyazi in #503
    fix: prevent recursive caching - don't cache files in the cache directory
         by @sxyazi in #504
    chore: add schema urls to preset config by @uncenter in #506
    fix: update paged files after filter done by @sxyazi in #505
    feat: add support for highlighting by file type by @Akmadan23 in #510
    perf: partial rendering progress and composite into a complete UI to reduce
          CPU consumption caused by frequent progress updates
          by @sxyazi in #509
    feat: add --empty and --cursor options to the rename command
          by @Akmadan23 in #513
    feat: add YAZI_LEVEL env variable for shells by @isti115 in #514
jperkin pushed a commit that referenced this issue Feb 1, 2024
## Version 3.1.10 (January 26, 2024)

Patch release with various build/bug fixes.

Build fixes:

  - Fix a problem where downstream projects using Imath would build
    python bindings even if they weren't requested.
  - Fix for missing `std::bit_cast`
  - Fix missing/necessary use of IMATH_HOSTDEVICE
  - IMATH_INSTALL_PKG_CONFIG is now on by default, even on Windows
  - Fix calling default constructor by uniform init in TypeTraits
  - Fix redundant PYIMATH_EXPORTS causing compile issues on Windows Clang
  - Update to SO versioning policy:

    This change adopts a policy of appending the ``MAJOR.MINOR.PATCH``
    software release name to the ``SONAME`` to form the real name of the
    shared library.

    See [website/install.rst](website/install.rst) and [PR
    #339](AcademySoftwareFoundation/openexr#339)
    for more details.

Bug fixes:

  - Fix half to float giving wrong results on older x86_64 CPUs on Windows

Other changes:

  - succ()/pred() now use std::nextafter().
  - Expand epsilon bounds for m44x pyImath test.
  - Rename "docs" to "website".
  - Add missing copyright/license identifiers.

### Merged Pull Requests

* \[[#363](https://github.com/AcademySoftwareFoundation/Imath/pull/363)\]
Update install instructions to reflect new SO versioning policy

* \[[#362](https://github.com/AcademySoftwareFoundation/Imath/pull/362)\]
Require sphinx 5.0

* \[[#361](https://github.com/AcademySoftwareFoundation/Imath/pull/361)\]
src/python/config/ModuleDefine.cmake: do not install a cmake file exporting targets for dependent projects

* \[[#358](https://github.com/AcademySoftwareFoundation/Imath/pull/358)\]
Fix half to float giving wrong results on older x86_64 CPUs on Windows

* \[[#353](https://github.com/AcademySoftwareFoundation/Imath/pull/353)\]
Changed implementation of succ and pred to use std::nextafter.

* \[[#350](https://github.com/AcademySoftwareFoundation/Imath/pull/350)\]
Fix check for the availability of std::bit_cast

* \[[#349](https://github.com/AcademySoftwareFoundation/Imath/pull/349)\]
IMATH_INSTALL_PKG_CONFIG is on by default, even on Windows

* \[[#347](https://github.com/AcademySoftwareFoundation/Imath/pull/347)\]
Export Imath from the build tree and so on.

* \[[#344](https://github.com/AcademySoftwareFoundation/Imath/pull/344)\]
rm unnecessary IMATH_HOSTDEVICE attributes.

* \[[#342](https://github.com/AcademySoftwareFoundation/Imath/pull/342)\]
Add missing copyright/license identifiers

* \[[#341](https://github.com/AcademySoftwareFoundation/Imath/pull/341)\]
Remove unnecessary files

* \[[#340](https://github.com/AcademySoftwareFoundation/Imath/pull/340)\]
Fix calling default constructor by uniform init.

* \[[#339](https://github.com/AcademySoftwareFoundation/Imath/pull/339)\]
Update and simply SO versioning policy

* \[[#338](https://github.com/AcademySoftwareFoundation/Imath/pull/338)\]
Rename "docs" to "website"

* \[[#333](https://github.com/AcademySoftwareFoundation/Imath/pull/333)\]
Expand epsilon bounds for m44x pyImath test

* \[[#331](https://github.com/AcademySoftwareFoundation/Imath/pull/331)\]
Fixed redundant PYIMATH_EXPORTS causing compile issues on Windows Clang

* \[[#326](https://github.com/AcademySoftwareFoundation/Imath/pull/326)\]
Use [email protected] for consistency

* \[[#320](https://github.com/AcademySoftwareFoundation/Imath/pull/320)\]
Add missing IMATH_HOSTDEVICE to Matrix33<T>::invert(bool)
jperkin pushed a commit that referenced this issue Mar 4, 2024
v0.17.0 is a new release with a lot of features, bug fixes, and specifically a
patch fixing a very annoying Spotify API bug.

This release also marks a big milestone for the project: 1k ⭐ 🥳🥳🥳 .
Thanks everyone for contributing, using, and starring the project!

What's Changed
    Add custom text input widget with cursor, to use in search page by @micleo2 in #329
    chore: update github actions by @LucasFA in #339
    reset buffered playback upon handling GetCurrentPlayback request by @aome510 in #341
    docs: fixes keymap command name by @massivebird in #342
    chore(docs): Remove unneeded explicit link by @LucasFA in #344
    Wait for the copy command to exit. by @Fuyukai in #346
    build: use cross for cross-compilation, locally and in CD by @LucasFA in #343
    feat: Souvlaki 0.7.0 and Linux Dbus volume control support by @LucasFA in #348
    extend capabilities for ShowActionsOn* commands by @aome510 in #352
    handle title padding with hidden borders by @aome510 in #351
    update dependencies, bump lyric_finder to v0.1.5 by @aome510 in #353
    Add miscellaneous UI code changes by @aome510 in #354
    update issue templates by @aome510 in #366
    fix clippy warning by @aome510 in #367
    re-create a new session when restarting the integrated client by @aome510 in #370
    Don't create streaming connections for non-streaming instances by @Schnouki in #371
    Remove winit from compilation on Linux by @LucasFA in #372
    Explicit cargo-binstall support by @LucasFA in #377
    Add popup for creating new playlist by @aome510 in #379
    Make Daemon feature imply streaming feature by @LucasFA in #376
    use liked icon's length to configure the column's width by @aome510 in #380
    Patch spotify API bugs by @aome510 in #386
jperkin pushed a commit that referenced this issue Apr 9, 2024
[1.3.0] - 2024-04-08
 - Introduced thumbnail mode, enabling users to keep an eye on Sniffnet while
   doing other tasks (#484)
 - Added support for ICMP connections and messages (#417 — fixes #288)
 - Added capability to identify 6000+ upper layer services, protocols, trojans,
   and worms (#450 — fixes #374)
 - Added feature to optionally export the analysis as a PCAP file with a custom
   path (#473 — fixes #162 and #291)
 - Introduced new filtering capabilities to allow users specify custom values
   of ports and IP addresses (#414)
 - The size of text and widgets can now be customised by setting a proper zoom
   value (fixes #202 and #344)
 - Added possibility to totally customize the app's theme via styles defined in
   TOML files (#286 and #419)
 - Upgraded inspect page table: multiple new search filters, additional sorting
   options, and always keep a correct fields alignment (#442 — fixes #63)
 - Added support for more link types in addition to Ethernet: raw IP packets
   and null/loopback packets are now correctly parsed (#421)
 - Support changing sort strategy for network hosts and services in overview
   page, showing most recent items by default (#452)
 - IP addresses can now be copied to clipboard from the popup related to a
   given entry of the connections table, and a new search parameter has been
   introduced in Inspect page to allow users filter their connections based on
   IP address values (#409)
 - Traffic chart is now smoother and overall better-looking thanks to the new
   spline-based interpolation (#461)
 - Added Japanese translation 🇯🇵 (#343)
 - Added Uzbek translation 🇺🇿 (#385)
 - Window size and position are now remembered, so that Sniffnet can reopen
   with the same window properties
 - Users can now provide custom paths for MMDB files to allow using the
   commercial versions of the country and ASN databases (fixes #243)
 - Added new command line option --restore-default to restore the default
   configurations of the app (settings, window properties, and device selected
   at startup)
 - The app's configurations are now stored only on application close, instead
   of needlessly store them each time the settings popup is closed (#420)
 - The textual output report is not generated anymore
 - Settings "Language" tab has been removed. Language selection and other
   options are now included in a new settings tab "General" (#365)
 - Updated Portuguese translation to v1.2 (#398)
 - Cleaned code implementing the concept of first class theming (#339)
 - Migrate to Iced 0.12 (#470)
 - Added documentation about Sniffnet installation on Nix and Tiny Core Linux
   (respectively #394 and #341)
 - General aesthetic improvements
 - Fixed bug about not delivered favorite notifications in presence of old
   outgoing connections
 - Fixed bug causing the application's icon not to be visible in some Linux
   environments
 - Fixed a build failure on powerpc64 (#356fixes #353)
 - Fixed a typo in Russian translation (#389)
 - Fixed icon inconsistency in case of directed broadcast traffic
 - Made byte strings consistent across the app, and added support for Terabytes
   and Petabytes representations
 - Fixed hosts and services data bar lengths inconsistencies in overview page
 - Minor improvements to Spanish translation (#454)
jperkin pushed a commit that referenced this issue May 17, 2024
0.21.0 (2024-03-10)
-------------------

- Improve documentation. [#483]

- Add a minimum version requirement for ``asdf-wcs-schemas``. [#491]

- Fix ``WCS.__str__`` for instances without transforms. [#489]

0.20.0 (2023-11-29)
-------------------

- Replace ``pkg_resources`` with ``importlib.metadata``. [#478]

- Serialize and deserialize ``pixel_shape`` with asdf. [#480]

0.19.0 (2023-09-15)
-------------------

Bug Fixes
^^^^^^^^^

- Synchronize ``array_shape`` and ``pixel_shape`` attributes of WCS
  objects. [#439]

- Fix failures and warnings with numpy 2.0. [#472]

other
^^^^^

- Remove deprecated old ``bounding_box``. The new implementation is released with
  astropy v 5.3. [#458]

- Refactor ``CoordinateFrame.axis_physical_types``. [#459]

- ``StokesFrame`` uses now ``astropy.coordinates.StokesCoord``. [#452]

- Dropped support for Python 3.8. [#451]

- Fixed a call to ``astropy.coordinates`` in ``wcstools.wcs_from_points``. [#448]

- Code and docstrings clean up. [#460]

- Register all available asdf extension manifests from ``asdf-wcs-schemas``
  except 1.0.0 (which contains duplicate tag versions). [#469]

- Register empty extension for 1.0.0 to avoid warning about a missing
  extension when opening old files. [#475]


0.18.3 (2022-12-23)
-------------------
Bug Fixes
^^^^^^^^^

- Fixed a bug in the estimate of pixel scale in the iterative inverse
  code. [#423]

- Fixed constant term in the polynomial used for SIP fitting.
  Improved stability and accuracy of the SIP fitting code. [#427]


0.18.2 (2022-09-07)
-------------------
Bug Fixes
^^^^^^^^^

- Corrected the reported requested forward SIP accuracy and reported fit
  residuals by ``to_fits_sip()`` and ``to_fits()``. [#413, #419]

- Fixed a bug due to which the check for divergence in ``_fit_2D_poly()`` and
  hence in ``to_fits()`` and ``to_fits_sip()`` was ignored. [#414]

New Features
^^^^^^^^^^^^

0.18.1 (2022-03-15)
-------------------
Bug Fixes
^^^^^^^^^

- Remove references to the ``six`` package. [#402]

0.18.0 (2021-12-22)
-------------------
Bug Fixes
^^^^^^^^^

- Updated code in ``region.py`` with latest improvements and bug fixes
  from ``stsci.skypac.regions.py`` [#382]

- Added support to ``_compute_lon_pole()`` for computation of ``lonpole``
  for all projections from ``astropy.modeling.projections``. This also
  extends support for different projections in ``wcs_from_fiducial()``. [#389]

New Features
^^^^^^^^^^^^

- Enabled ``CompoundBoundingBox`` support for wcs. [#375]

- Moved schemas to standalone package ``asdf-wcs-schemas``.
  Reworked the serialization code to use ASDF converters. [#388]

0.17.1 (2021-11-27)
-------------------

Bug Fixes
^^^^^^^^^

- Fixed a bug with StokesProfile and array types. [#384]


0.17.0 (2021-11-17)
-------------------
Bug Fixes
^^^^^^^^^

- `world_axis_object_components` and `world_axis_object_classes` now ensure
  unique keys in `CompositeFrame` and `CoordinateFrame`. [#356]

- Fix issue where RuntimeWarning is raised when there are NaNs in coordinates
  in angle wrapping code [#367]

- Fix deprecation warning when wcs is initialized with a pipeline [#368]

- Use ``CD`` formalism in ``WCS.to_fits_sip()``. [#380]


New Features
^^^^^^^^^^^^
- ``wcs_from_points`` now includes fitting for the inverse transform. [#349]

- Generalized ``WCS.to_fits_sip`` to be able to create a 2D celestial FITS WCS
  from celestial subspace of the ``WCS``. Also, now `WCS.to_fits_sip``
  supports arbitrary order of output axes. [#357]


API Changes
^^^^^^^^^^^
- Modified interface to ``wcs_from_points`` function to better match analogous function
  in astropy. [#349]

- ``Model._BoundingBox`` was renamed to ``Model.ModelBoundingBox``. [#376, #377]

0.16.1 (2020-12-20)
-------------------
Bug Fixes
^^^^^^^^^
- Fix a regression with ``pixel_to_world`` for output frames with one axis. [#342]

0.16.0 (2020-12-18)
-------------------
New Features
^^^^^^^^^^^^

- Added an option to `to_fits_sip()` to be able to specify the reference
  point (``crpix``) of the FITS WCS. [#337]

- Added support for providing custom range of degrees in ``to_fits_sip``. [#339]

Bug Fixes
^^^^^^^^^

- ``bounding_box`` now works with tuple of ``Quantities``. [#331]

- Fix a formula for estimating ``crpix`` in ``to_fits_sip()`` so that ``crpix``
  is near the center of the bounding box. [#337]

- Allow sub-pixel sampling of the WCS model when computing SIP approximation in
  ``to_fits_sip()``. [#338]

- Fixed a bug in ``to_fits_sip`` due to which ``inv_degree`` was ignored. [#339]
jperkin pushed a commit that referenced this issue Jul 1, 2024
2.3.7 (2024-06-27)

What's Changed

* Add ruby-3.1 test by @skeshari12 in #332
* move from travis to GH actions and test ruby 3.1 by @mwrock in #335
* Add rexml as an explicit dependency for Ruby 3.x by @postmodern in #334
* Adding user-agent option by @laxa in #337
* Update CI to use ruby 3.X by @fwininger in #343
* Create thread in shell finalizer by @akihikodaki in #339

New Contributors

* @skeshari12 made their first contribution in #332
* @postmodern made their first contribution in #334
* @laxa made their first contribution in #337
* @akihikodaki made their first contribution in #339
jperkin pushed a commit that referenced this issue Aug 24, 2024
3.3.8

Bug fix for enumerated subtypes custom annotation by @vidit2606 in #338
Update stone version to 3.3.8 by @vidit2606 in #339

3.3.7

If a parameter has no properties still rerturn an empty dict not nil by @shizam in #333
fix: Replace deprecated distutils by @Moraxyc in #334
Fix custom annotation inheirtance bug by @rhui-dbx in #336
Update version to 3.3.7 by @vidit2606 in #337
jperkin pushed a commit that referenced this issue Sep 14, 2024
ContourPy 1.3.0 adds new ContourGenerator functions multi_lines
and multi_filled to calculate contour lines and filled contours
over a sequence of levels in a single function call. There are also
new functions to render, convert and dechunk the returns from
multi_lines and multi_filled.

This release adds support for Python 3.13, including free-threaded.
The latter should be considered experimental.

The use of np.nan as the lower_level or upper_level of
ContourGenerator.filled() is no longer permitted.

Enhancements:

    multi_lines and multi_filled:
        ContourGenerator.multi_lines and multi_filled (#338, #340, #342, #343)
        Renderer.multi_lines and multi_filled (#341)
        convert_multi_lines and convert_multi_filled (#348)
        dechunk_multi_lines and dechunk_multi_filled (#345)

    Prevent use of np.nanas lower or upper level in filled (#339)

Compatibility:

    Support CPython 3.13 including free-threaded (#382, #384, #388, #408, #410, #411, #412, #423)
    Support PyPy 3.10 (#404)

Code improvements:

    Support improved typing in NumPy 2.1.0 (#422)

Documentation improvements:

    Simpler sphinx cross-references (#361)
    Add more doc cross-references to explain returned data formats (#366)
    Remove download numbers for conda packages (#428)
    Documentation for multi_lines and multi_filled (#390, #431)
    Document possibility of duplicate contour points (#432)

Build, testing and CI improvements:

    Add pytest option to log image differences to CSV file (#335)
    Label flaky test (#385)
    MSVC linking and std::mutex compiler flag (#391, #395, #414, #419, #427)
    Add minimal test script (#399)
    Bump minimum supported NumPy to 1.23 (#403)
    Build and publish nightly wheels (#413, #425)
    Bump default python version in CI to 3.12 (#430)
jperkin pushed a commit that referenced this issue Sep 24, 2024
2.15.0 (2024-08-04)

* Allow transient tasks to exit completely. (#336)

2.15.1 (2024-08-07)

* Allow transient tasks to exit gracefully. (#337)

2.15.2 (2024-08-07)

* Transient tasks should only be stopped once. (#338)

2.15.3 (2024-08-08)

* Ensure that defer_stop resets state. (#339)

2.16.0 (2024-08-23)

Better Handling of Async and Sync in Nested Fibers

Interleaving bare fibers within Async and Sync blocks should not cause
problems, but it presents a number of issues in the current implementation.
Tracking the parent-child relationship between tasks, when they are
interleaved with bare fibers, is difficult.  The current implementation
assumes that if there is no parent task, then it should create a new
reactor.  This is not always the case, as the parent task might not be
visible due to nested Fibers.  As a result, Async will create a new reactor,
trying to stop the existing one, causing major internal consistency issues.

I encountered this issue when trying to use Async within a streaming
response in Rails.  The protocol-rack uses a normal fiber to wrap streaming
responses, and if you try to use Async within it, it will create a new
reactor, causing the server to lock up.

Ideally, Async and Sync helpers should work when any Fiber.scheduler is
defined.  Right now, it's unrealistic to expect Async::Task to work in any
scheduler, but at the very least, the following should work:

    reactor = Async::Reactor.new # internally calls Fiber.set_scheduler

    # This should run in the above reactor, rather than creating a new one.
    Async do
      puts "Hello World"
    end

In order to do this, bare Async and Sync blocks should use Fiber.scheduler
as a parent if possible.

See #340 for more details.

2.16.1 (2024-08-26)

* Add timeout to timeout error message.

2.17.0 (2024-09-05)

* Introduce Async::Queue#push and Async::Queue#pop for compatibility with
  ::Queue.
github-actions bot pushed a commit that referenced this issue Oct 21, 2024
…blem

# tidyselect 1.2.1

* Performance improvements (#337, #338, #339, #341)

* `eval_select()` out-of-bounds errors now use the verb "select" rather than
  "subset" in the error message for consistency with `dplyr::select()` (#271).

* Fix for CRAN checks.
github-actions bot pushed a commit that referenced this issue Nov 3, 2024
# cpp11 0.5.0

## R non-API related changes

* Removed usage of the following R non-API functions:

  * `SETLENGTH()`

  * `SET_TRUELENGTH()`

  * `SET_GROWABLE_BIT()`

  These functions were used as part of the efficient growable vectors that
  cpp11 offered, i.e. what happens under the hood when you use `push_back()`.
  The removal of these non-API functions means that cpp11 writable vectors that
  have been pushed to with `push_back()` will likely force 1 extra allocation
  when the conversion from `cpp11::writable::r_vector<T>` to `SEXP` occurs
  (typically when you return a result back to R). This does not affect the
  performance of `push_back()` itself, and in general these growable vectors
  are still quite efficient (#362).

* The `environment` class no longer uses the non-API function
  `Rf_findVarInFrame3()` (#367).

  * The `exists()` method now uses the new `R_existsVarInFrame()` function.

  * The `SEXP` conversion operator now uses the new `R_getVar()` function. Note
    that this is stricter than `Rf_findVarInFrame3()` in 3 ways. The object
    must exist in the environment (i.e. `R_UnboundValue` is no longer returned),
    the object cannot be `R_MissingArg`, and if the object was a promise, that
    promise is now evaluated. We have backported this new strictness to older
    versions of R as well.

## New features

* `cpp11::writable::r_vector<T>::proxy` now implements copy assignment.
  Practically this means that `x[i] = y[i]` now works when both `x` and `y`
  are writable vectors (#300, #339).

* New `writable::data_frame` constructor that also takes the number of rows as
  input. This accounts for the edge case where the input list has 0 columns but
  you'd still like to specify a known number of rows (#272).

* `std::max_element()` can now be used with writable vectors (#334).

* Read only `r_vector`s now have a move constructor and move assignment
  operator (#365).

## Improvements and fixes

* Repeated assignment to a `cpp11::writable::strings` vector through either
  `x[i] = elt` or `x.push_back(elt)` is now more performant, at the tradeoff
  of slightly less safety (as long as `elt` is actually a `CHARSXP` and `i` is
  within bounds, there is no chance of failure, which are the same kind of
  invariants placed on the other vector types) (#378).

* Constructors for writable vectors from `initializer_list<named_arg>` now
  check that `named_arg` contains a length 1 object of the correct type, and
  throws either a `cpp11::type_error` or `std::length_error` if that is not the
  case (#382).

* `cpp11::package` now errors if given a package name that hasn't been loaded
  yet. Previously it would cause R to hang indefinitely (#317).

* `cpp11::function` now protects its underlying function, for maximum safety
  (#294).

* `cpp11::writable::r_vector<T>::iterator` no longer implicitly deletes its
  copy assignment operator (#360).

* Added the missing implementation for `x.at("name")` for read only vectors
  (#370).

* Fixed an issue with the `writable::matrix` copy constructor where the
  underlying SEXP should have been copied but was not. It is now consistent with
  the behavior of the equivalent `writable::r_vector` copy constructor.

* Fixed a memory leak with the `cpp11::writable::r_vector` move assignment
  operator (#338).

* Fixed an issue where writable vectors were being protected twice (#365).

* The approach for the protection list managed by cpp11 has been tweaked
  slightly. In 0.4.6, we changed to an approach that creates one protection list
  per compilation unit, but we now believe we've found an approach that is
  guaranteed by the C++ standard to create one protection list per package,
  which makes slightly more sense and still has all the benefits of the reduced
  maintanence burden mentioned in the 0.4.6 news bullet (#364).

  A side effect of this new approach is that the `preserved` object exposed
  through `protect.hpp` no longer exists. We don't believe that anyone was using
  this. This also means you should no longer see "unused variable" warnings
  about `preserved` (#249).

## Breaking changes

* R >=3.6.0 is now required. This is in line with (and even goes beyond) the
  tidyverse standard of supporting the previous 5 minor releases of R.

* Implicit conversion from `sexp` to `bool`, `size_t`, and `double` has been
  marked as deprecated and will be removed in the next version of cpp11. The 3
  packages that were using this have been notified and sent PRs. The recommended
  approach is to instead use `cpp11::as_cpp<T>`, which performs type and length
  checking, making it much safer to use.

* Dropped support for gcc 4.8, mainly an issue for extremely old CentOS 7
  systems which used that as their default compiler. As of June 2024, CentOS 7
  is past its vendor end of support date and therefore also out of scope for
  Posit at this time (#359).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants