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

haproxy 2.4.3 fails to start, complains about CFLAGS used during build #313

Closed
drboone opened this issue Aug 30, 2021 · 4 comments
Closed

Comments

@drboone
Copy link

drboone commented Aug 30, 2021

After update to haproxy 2.4.3 this morning, it failed to start. From the service log:

[ Aug 30 09:37:01 Executing start method ("/opt/local/sbin/haproxy -f /opt/local/etc/haproxy.cfg -D"). ]
FATAL ERROR: invalid code detected -- cannot go further, please recompile!
The source code was miscompiled by the compiler, which usually indicates that
some of the CFLAGS needed to work around overzealous compiler optimizations
were overwritten at build time. Please do not force CFLAGS, and read Makefile
and INSTALL files to decide on the best way to pass your local build options.

This may be relevant - haproxy/haproxy@1335da38f4 - discussion of checking for the compiler option -fwrapv.

Downgrading to 2.4.2 got us back on the air for now.

@goekesmi
Copy link

goekesmi commented Aug 30, 2021

The haproxy Makefile has quite a bit of CFLAGS manipulation in it. Given what it needs, this might be the better way to pass in the pkgsrc CFLAGS setting:

diff --git a/net/haproxy/Makefile b/net/haproxy/Makefile
index 8cc3b1b6314..6be440674de 100644
--- a/net/haproxy/Makefile
+++ b/net/haproxy/Makefile
@@ -13,7 +13,7 @@ USE_LANGUAGES=                c
 USE_TOOLS+=            gmake
 BUILD_MAKE_FLAGS+=     ADDLIB=${COMPILER_RPATH_FLAG}${PREFIX}/lib
 BUILD_MAKE_FLAGS+=     CC=${CC:Q}
-BUILD_MAKE_FLAGS+=     CFLAGS=${CFLAGS:Q}
+BUILD_MAKE_FLAGS+=     DEBUG_CFLAGS=${CFLAGS:Q}
 BUILD_MAKE_FLAGS+=     LDFLAGS=${LDFLAGS:Q}
 BUILD_MAKE_FLAGS+=     TARGET=${TARGET}
 BUILD_MAKE_FLAGS+=     USE_REGPARM=1

With this change, haproxy does build, package, and not throw errors at startup.

@jperkin
Copy link
Collaborator

jperkin commented Aug 31, 2021

Ugh, thanks. I've applied this patch upstream and will get a trunk build started as soon as it's merged to git.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Aug 31, 2021
The software depends on compiler flags (-fwrapv) for specific overflow
handling, but for some strange reason instead of appending them during
the build regardless of what the user has set CFLAGS to, it allows
CFLAGS to be overridden and aborts at runtime!  Passing in our CFLAGS
via DEBUG_CFLAGS, while not ideal, allows them to be properly combined.

Fix from goekesmi in TritonDataCenter#313.  Bump PKGREVISION.
@jperkin
Copy link
Collaborator

jperkin commented Sep 1, 2021

Ok, the fixed haproxy-2.4.3nb1 is now available in the trunk package set. Sorry for the mess.

@jperkin jperkin closed this as completed Sep 1, 2021
@drboone
Copy link
Author

drboone commented Sep 1, 2021

Thanks!

jperkin pushed a commit that referenced this issue Sep 21, 2021
# version 0.5-3

* `read_stars()` accepts a function (or list with functions) as first argument,
   allowing for saving `stars` objects that read from package directories resolving
   platform-dependent paths at run-time

* handle categorical rasters starting at value 0 (by adding 1, and warning); #428

* add `%in%` method; #424

* `read_stars` gains an argument `tolerance` to control tolerance in
  dimension value comparisons; #414

* binary Ops (like `+`, `-`, `*` etc.) work for `stars_proxy` objects; #390

* `st_rasterize` rasterizes multiple attributes, and handles factors
  (when sf >= 0.9-9)

* `write_stars` deals better with `stars_proxy` objects; #404

* fix regression in reading some `stars_proxy` objects; #379

* add `[<-` (partially) and `is.na` methods for `stars_proxy` objects; #402

* add `replace_na` methods; #402

# version 0.5-2

* read and write factor levels as GDAL category names; write color table; #392

* handle `normalize_path` for choosing to `proxy`; #391

* ignore units when there are different units accross bands of a subdataset

* speed up `st_rgb` using faster `st_apply` approach; #315, #390

* improve handling of crs in Spatial objects (avoid loss of wkt comments)

* correctly write band subsets for smaller proxy objects; #291

* write arbitrarily cropped proxy objects; #291

* speed up `st_apply` when a function is provided that works on chunks
  at a time; #390

* warn when breaks = "quantile" results in a single class; #388

* fix `[` bug selecting bands in proxy objects; #388

* for `stars_proxy` objects, `write_stars` writes all objects into a
  multi-layer file; #385

* multi-file proxy objects can be `st_warp`ed with `use_gdal = TRUE`; #385

# version 0.5-1

* fix weird GDAL-related bug in stars2 vignette

* `read_ncdf` does not take time as mid-points of regular intervals,
  but as starting points; #378

# version 0.5-0

* fix handling of rasters with color tables; #375

* `st_apply` and other methods for `stars_proxy` objects handle ... ; #374

* add `st_bbox`, `st_crs` methods for terra's `SpatVector` objects;
  https://github.com/mtennekes/tmap/issues/536

* add `st_bbox`, `st_crs` and `st_as_stars` methods for terra's
  `SpatRaster` objects; https://github.com/mtennekes/tmap/issues/536

* allow for multi-resolution attributes in `stars_proxy` objects
  (e.g., all gray scale sentinel-2 bands); see vignettes 2 and 7 for
  examples.

* `plot` defaults to a categorical color scale when plotting a factor
  variable; https://github.com/mtennekes/tmap/issues/526

* `st_extract` extracts space-time points if `time_column` is
  specified, and handles time intervals; #352

* add `[[<-.stars` method, which is now called by `$<-.stars`, so that
  array names can be set programmatically

* add `transmute` methods

* `plot.stars` calls `droplevels` if a factor array has any `NA` levels; #339

* `read_stars` reads `NaN`s as `NA`; #333

* improve `st_extract` method for both `stars` and `stars_proxy`
  objects; interpolation options are reduced to bilinear; #322, #279,
  #290

* better handle categorical rasters that do not start at value 1; #329

* plot layout can be controlled with `mfrow = c(nr, nc)` argument

* `stars_proxy` objects have a normalized path; #331

* cropping or selecting with `bbox` treats cells always as small
  polygons; #330

* add faster `st_extract` method for `stars` objects; #322

* added vignette: "How `raster` functions map to `stars` functions",
  by Sebastien Rochette; #122, #325

* fix bug in dimension `values` field when downsampling; #324

* `write_stars` also writes out band names; #323

* add `rgdal` to Suggests:

* each `call_list` entry of a `stars_proxy` object carries its proper
  calling environment; #309

* `st_as_sf.stars` copes with zero attribute (empty) stars objects

* add `st_set_bbox` generic, to set raster extent, motivated by #315

* set up tic, with great help from @pat-s, #313

* get rid of more `proj4string`s for representing coordinate reference
  systems; #312

* as(x, "Spatial") correctly handles `from` dimension values different
  from one

* `read_stars` now sets the `BANDNAME` GDAL metadata item, or else the
  band's GetDescription() as the band's dimension values

* `st_as_stars.data.frame` reads simple tables (non-raster data) if
  `dims` has length less than 2

* band descriptions are in the band dimension values

* dimension tables are simpler, and are shown properly in Rstudio

* `st_rgb` gains a `probs` argument, to cut off and stretch based on
  quantiles

* `as(x, "Raster")` merges multiple attributes before converting to
  raster brick
jperkin pushed a commit that referenced this issue Feb 5, 2022
* This is kernel module and disbale MKPIE support.

Changelog:
HAXM v7.7.0
Change Log

  * Added a new IOCTL to enable getting CPUID features for guest VCPUs (#383).
  * Enabled all supported CPUID leaves to be configurable (#382).
  * Enabled several features in CPUID emulation (#381).
  * Migrated the CI service from Travis CI to GitHub Actions (#353).

HAXM v7.6.6
Change Log

  * Optimized the CPUID module and added support for setting two new CPUID
    leaves (#335).
  * Fixed some vulnerability issues of loading DRs and MSRs (#347).
  * Fixed some minor issues from static code scan (#351).
  * Fixed the download URL in the homepage (#348).

HAXM v7.6.5
Change Log

  * Optimized internal storage structure for CPUID feature set (#315).
  * Fixed a performance issue caused by a regression (#312).
  * Fixed some warnings from static code scan (#313).
  * Introduced a new installer framework for Windows.

HAXM v7.6.1
Change Log

  * Added a new IOCTL to enable setting CPUID feature for guest VCPUs (#277, #
    281, #282).
  * Enabled PAT as HAXM supported CPUID feature and added IA32_CR_PAT VMX
    handling (#204).
  * Changed to return deterministic cache parameters by host cache values (#204
    ).
  * Cleaned up the legacy EPT engine (#261).
jperkin pushed a commit that referenced this issue Sep 1, 2022
3.19.4 (2022-05-19)

Closed issues:
* Add JUnit-compatible Reporter #703
* Problems with internal link cache re-checking logic (4.0.0.rc3) #695
* File / sources processing issues #693

4.0.0 (2022-07-11)

Closed issues:
* From time to time I get response code 0 with Stream error in the HTTP/2
  framing layer #716
* Hash not exist in path with implicit index #714
* Config section of README seems to be out of sync with actual CLI options
  #713
* Allow separate internal/external cache timeframe #708
* Update nokogiri dependency #705
* Issue with internal links re-checking logic / cache keys #702
* Empty alt tag #228

Merged pull requests:
* Allow for empty alt attributes #717 (gjtorikian)
* Address internal hash issue #715 (gjtorikian)
* Fix internal link issue #712 (gjtorikian)
* Use <path>:<line> in the CLI reporter #711 (riccardoporreca)
* Split timeframes out #710 (gjtorikian)
* Bump actions/checkout from 2 to 3 #709 (dependabot[bot])
* chore: Included githubactions in the dependabot config #707
  (naveensrinivasan)
* chore: Set permissions for GitHub actions #706 (naveensrinivasan)
* Fix internal link format #699 (gjtorikian)
* Fix internal cache metadata check #696 (riccardoporreca)
* Feature/fix files sources processing #694 (riccardoporreca)
* 4.0.0 #674 (gjtorikian)

4.0.1 (2022-07-12)

Closed issues:
* Linking to directories without a trailing slash in 4.0.0 #718

Merged pull requests:
* Restore follow_location #719 (gjtorikian)

4.1.0 (2022-07-15)

Closed issues:
* Set enforce_https to false on the CLI #727
* srcset width/pixel density descriptors cause missing image error #724
* Example cache config not working #723
* Removal of --check-html #722
* CHANGELOG.md says Unreleased but 4.0 is out #721
* Make --checks options case insensitive #720

Merged pull requests:
* Squash some minor 4.x bugs #728 (gjtorikian)
* Change --url-ignore to --ignore-urls in README.md #726 (nwhetsell)

4.2.0 (2022-07-16)

Closed issues:
* Provide option to ignore hash references for internal links #731

Merged pull requests:
* Add option to disable internal hash check #732 (gjtorikian)
* Update readme to reflect new command line option --ignore-status-codes
  #729 (bassmang)

4.3.0 (2022-07-26)

Closed issues:
* check_internal_hash seems to be always true #739
* Disable internal/external cache altogether if not timeframe is specified
  #737
* How to set CLI option --check-external-hash to false? #735
* Cached external URLs with missing hash are not re-checked #733
* Warn/Failure if unknown configuration option is provided #730
* hash ref's on the same page aren't found #725
* No support for multiple URLs in srcset #313

Merged pull requests:
* moderately improved hash detection #741 (gjtorikian)
* adjust for additional srcset/webp logic #740 (gjtorikian)
* clarify CLI booleans #738 (gjtorikian)
* Cache fixes and improvements #736 (riccardoporreca)
* Ensure consistent external cache re-check for all failures #734
  (riccardoporreca)

4.3.1 (2022-07-29)

* Fix #724: handle srcsets with multiple pixel density entries

4.3.2 (2022-08-03)

* Switch 'source' elements to use image check code path

4.4.0 (2022-08-13)

* Fix external URL key for script links without protocol (#750)
* Failure on protocol-relative URLs across the board (#750)
* Adapt/extend tests to the protocol-relative failures (#750)
* Fix #752 from riccardoporreca/feature/750-fail-on-protocol-relative-urls
jperkin pushed a commit that referenced this issue Nov 15, 2022
2.1.9

    [fsevents] Fix flakey test to assert that there are no errors when stopping the emitter.
    [inotify] Suppress occasional OSError: [Errno 9] Bad file descriptor at shutdown. #805
    [watchmedo] Make auto-restart restart the sub-process if it terminates. #896
    [watchmedo] Avoid zombie sub-processes when running shell-command without --wait. #405

2.1.8

    Fix adding failed emitters on observer schedule. (#872)
    [inotify] Fix hang when unscheduling watch on a path in an unmounted filesystem. (#869)
    [watchmedo] Fix broken parsing of --kill-after argument for the auto-restart command. (#870)
    [watchmedo] Fix broken parsing of boolean arguments. (#887)
    [watchmedo] Fix broken parsing of commands from auto-restart, and shell-command. (#888)
    [watchmedo] Support setting verbosity level via -q/--quiet and -v/--verbose arguments. (#889)

2.1.7

    Eliminate timeout in waiting on event queue. (#861)
    [inotify] Fix not equality implementation for InotifyEvent. (#848)
    [watchmedo] Fix calling commands from within a Python script. (#879)
    [watchmedo] PyYAML is loaded only when strictly necessary. Simple usages of watchmedo are possible without the module being installed. (#847)

2.1.6

    [bsd] Fixed returned paths in kqueue.py and restored the overall results of the test suite. (#842)
    [bsd] Updated FreeBSD CI support .(#841)
    [watchmedo] Removed the argh dependency in favor of the builtin argparse module. (#836)
    [watchmedo] Removed unexistant WindowsApiAsyncObserver references and --debug-force-winapi-async arguments.
    [watchmedo] Improved the help output.

2.1.5

    Fix regression introduced in 2.1.4 (reverted "Allow overriding or adding custom event handlers to event dispatch map. (#814)"). (#830)
    Convert regexes of type str to list. (#831)

2.1.4

    [watchmedo] Fix usage of os.setsid() and os.killpg() Unix-only functions. (#809)
    [mac] Fix missing FileModifiedEvent on permission or ownership changes of a file. (#815)
    [mac] Convert absolute watch path in FSEeventsEmitter with os.path.realpath(). (#822)
    Fix a possible AttributeError in SkipRepeatsQueue._put(). (#818)
    Allow overriding or adding custom event handlers to event dispatch map. (#814)
    Fix tests on big endian platforms. (#828)

2.1.3

    Publish macOS arm64 and universal2 wheels. (#740)

2.1.2

    [mac] Fix relative path handling for non-recursive watch. (#797)
    [windows] On PyPy, events happening right after start() were missed. Add a workaround for that. (#796)

2.1.1

    [mac] Fix callback exceptions when the watcher is deleted but still receiving events (#786)

2.1.0

    [inotify] Simplify libc loading (#776)
    [mac] Add support for non-recursive watches in FSEventsEmitter (#779)
    [watchmedo] Add support for --debug-force-* arguments to tricks (#781)

2.0.3

    [mac] Use logger.debug() instead of logger.info() (#774)
    Updated documentation links (#777)

2.0.2

    [mac] Add missing exception objects (#766)

2.0.1

    [mac] Fix a segmentation fault when dealing with unicode paths (#763)
    Moved the CI from Travis-CI to GitHub Actions (#764)

2.0.0

    ⚠️ [mac] Drop support for macOS 10.12 and earlier (#750)
    [mac] Support coalesced filesystem events (#734)
    [mac] Fix an issue when renaming an item changes only the casing (#750)
    [inotify] Add support for IN_CLOSE_WRITE events. A FileCloseEvent event will be fired. Note that IN_CLOSE_NOWRITE events are not handled to prevent much noise. (#184, #245, #280, #313, #690)
    [inotify] Allow to stop the emitter multiple times (#760)
    Avoid deprecated PyEval_InitThreads on Python 3.7+ (#746)

1.0.2

    Wheels are published for GNU/Linux, macOS and Windows (#739)
    [mac] Fix missing event_id attribute in fsevents (#721)
    [mac] Return byte paths if a byte path was given in fsevents (#726)
    [mac] Add compatibility with old macOS versions (#733)
    Uniformize event for deletion of watched dir (#727)

1.0.0

    Versioning is now following the semver
    Drop support for Python 2.7, 3.4 and 3.5
    [mac] Regression fixes for native fsevents (#717)
    [windows] winapi.BUFFER_SIZE now defaults to 64000 (instead of 2048) (#700)
    [windows] Introduced winapi.PATH_BUFFER_SIZE (defaults to 2048) to keep the old behavior with path-realted functions (#700)
    Use pathlib from the standard library, instead of pathtools (#556)
    Allow file paths on Unix that don't follow the file system encoding (#703)
    Removed the long-time deprecated events.LoggingFileSystemEventHandler class, use LoggingEventHandler instead

0.10.5

    [mac] Regression fixes for native fsevents (#716)
jperkin pushed a commit that referenced this issue Dec 18, 2022
# processx 3.8.0

* processx error stacks are better now. They have ANSI hyperlinks for
  function calls to their manual pages, and they also print operators
  better.

* processx now does not mark standard streams as close-on-exec on Unix,
  as this causes problems when calling `system()` from an R subprocess
  (r-lib/callr#236).

# processx 3.7.0

* New functions for creating portable FIFOs and Unix socket connections.
  See `conn_create_fifo()`, `conn_create_unix_socket()` and
  `vignettes/internals.Rmd` for documentation. These functions are currently
  experimental.

# processx 3.6.1

* processx now closes file unneeded file descriptors when redirecting
  the standard output and error, in the client file.

* processx errors now do not have `rlang_error` and `rlang_trace` classes,
  because they are actually not compatible with rlang errors and traces.

# processx 3.6.0

* processx now gives better error messages, and better stack traces.

# processx 3.5.3

* `run()` now sets `stderr` to `NULL` in the result (instead of an empty
  string), if the standard error was redirected to the standard output.
  This also fixes an error when interrupting a `run()` with a redirected
  standard error.

* processx now does not fail if the current working directory contains
  a non-ASCII character on Windows, and `getwd()` returns a short path
  for it (#313).
jperkin pushed a commit that referenced this issue Dec 19, 2022
# version 0.8-1

* fix `%/%` and `%%` if arguments have different units; #313

* fix multiplier parsing for `exp(log(x))` operations; #321

* fix specification of secondary axes with `scale_units`; #326

# version 0.8-0

* enhance unit mapping for newly installed units; #290

* remove deprecations: `install_symbolic_unit`, `remove_symbolic_unit`,
  `install_conversion_constant`, `install_conversion_offset`; #290

* fix multipliers for round trip log-exp operations; #292

* integrate `ggplot2` scales (previously in the `ggforce` package) to
  automatically print axes with units; #294 addressing #164

* fix `all.equal.units` for non-units `current`

* fix zero power; #285

* fix `unique.units` to support arrays and matrices, implement methods for
  `duplicated` and `anyDuplicated`

* fix plot labels with spaces; #298 addressing #297

* always add units to labels, including user-provided ones; as part of #298

* new symbols/names with a percentage character are not allowed due to an
  upstream bug; #289
jperkin pushed a commit that referenced this issue Oct 23, 2023
v0.19.3
 - Make network-interface an optional dependency, see #332 (@blyxxyz)

Note for package maintainers: When building xh with --no-default-features,
make sure to enable the network-interface feature if there are no build errors
like in #330

v0.19.2
Features
 - Add --interface for binding to a local IP address or interface,
   see #307 (@ducaale)
 - Translate --raw flag when using --curl, see #308 (@ducaale)
 - Support duplicate header keys in session files, see #313 (@ducaale)
 - Support persisting cookies from multiple domains, see #314 (@ducaale)
 - Control output formatting (JSON indent-level, header sorting, etc)
   via --format-options, see #318 (@Bnyro) and #319 (@ducaale)

Bug fixes
 - Disable cURL's URL globbing, see #325 (@ducaale)
 - Improve PATH handling in install.ps1, see #264 (@henno)

Other
 - Update Rustls to v0.21.0, see #311 (@ducaale)

v0.19.1
No ChangeLog provided.

v0.19.0
No ChangeLog provided.
jperkin pushed a commit that referenced this issue Feb 7, 2024
# rio 1.0.1

* POTENTIALLY BREAKING: Due to compiling time concerns, roll back the decision to move `arrow` to `Imports`. It is now `Suggests`. `setclass = "arrow"` works if `arrow` is installed. #315 #376

# rio 1.0.0

* Stop loading the entire namespace of a suggested package when it is available #296
* Unexport objects: `.import`, `.export`, `is_file_text`; remove
  documentation for `arg_reconcile` #321
* Update Examples to make them more realistic #327
* Add support for `qs` #275 h/t David Schoch
* Use `arrow` to import / export `feather` #340
* `export_list` can write multiple data frames to a single archive
  file (e.g. zip, tar) or a directory #346 h/t David Schoch
* `get_info` is added #350
* POTENTIALLY BREAKING: `setclass` parameter is now
  authoritative. Therefore: `import("starwars.csv", data.table = TRUE,
  setclass = "tibble")` will return a tibble (unlike previous versions
  where a data.table is returned). The default class is data
  frame. You can either explicitly use the `setclass` parameter; or
  set the option: `options(rio.import.class = "data.table")`. h/t
  David Schoch #336
* Parquet and feather are now formats supported out of the box;
  Possible to setclass to `arrow` / `arrow_table`; ArrowTabular class
  can be exported #315
* Add "extension", "labelled" vignettes
* Support readODS 2.1.0 features such as reading and writing Flat ODS;
  export Multiple data frames #358
* POTENTIALLY BREAKING: Use `writexl` instead of `openxlsx`. Option to
  read xlsx with `openxlsx` (i.e. `import("starwars.xlsx", readxl =
  FALSE)`) is always `TRUE`. The ability to overwrite an existing
  sheet in an existing xlsx file is also removed. It is against the
  design principle of `rio`.

* POTENTIALLY BREAKING: The following options are deprecated:
  `import(fread)`, `import(readr = TRUE)`, `import(haven)`,
  `import(readxl)` and `export(fwrite)`. import will almost use
  `data.table`, `haven`, `readxl`, and internal function (for fwf) to
  import and export data. Currently, those options stay for backward
  compatibility but will be removed in v2.0.0. #343 h/t David Schoch

* POTENTIALLY BREAKING: `...` is handled differently. Underlying
 functions using "Tidy" convention (e.g. `readxl::read_xlsx()`) can
 use "Base Convention" (See the new vignette: `remap`). Unused
 arguments passed to the underlying function as `...` are silently
 ignored by default. A new option `rio.ignoreunusedargs` is added to
 control this behavior. #326

* Bug fixes
   - ... is correctly passed for exporting ODS and feather #318
   - POTENTIALLY BREAKING: JSON are exported in UTF-8 by default;
     solved encoding issues on Windows R < 4.2. This won't affect any
     modern R installation where UTF-8 is the default. #318
   - POTENTIALLY BREAKING: YAML are exported using
     yaml::write_yaml(). But it can't pass the UTF-8 check on older
     systems.  Disclaimer added. #318

   - More check for the `file` argument #301
   - `import_list` works with single Excel/HTML/Zip online #294
   - Correct XML/HTML escaping #303
   - Create directory if it doesn't exist #347
* Declutter
   - remove the obsolete data.table option #323
   - write all documentation blocks in markdown #311
   - remove all @importFrom #325 h/t David Schoch
   - rearrange "Package Philosophy" as a Vignette #320
   - Create a single source of truth about all import and export functions #313
   - Clarify all concepts: now there is only `format` #351
* New authors
   - David Schoch @schochastics

# rio 0.5.30

* Maintenance release: new maintainer
* Mark `.sas7bdat` as deprecated
* Change the minimum R version to 3.6

# rio 0.5.29

* fixes for CRAN


# rio 0.5.28

* Various fixes to tests, examples, and documentation for CRAN.
* Temporarily disabled some tests that failed on Mac M1s.

# rio 0.5.27

* Documentation fixes for CRAN.
jperkin pushed a commit that referenced this issue Feb 13, 2024
This version optimizes the loading speed for large directories - Yazi is now
~2.5 times faster than before.
For a directory benchmark containing 500,000 files (See #599 for details).

The release also adds support for previewing images over SSH, this allows you
to preview images directly on your local terminal by running Yazi on a server,
a highly anticipated new feature.

As for the plugin system, many improvements have been also made, such as
supporting passing arguments, plugin-specific state persistence, and listening
to key events in the plugin. During this period, we added a new Resources page
that documents plugins contributed by the community. Thanks to the lovely
plugin authors for creating and sharing these awesome plugins!

Lastly, some great news: Yazi has been featured on The Linux Cast - this is
Yazi's first appearance in video format, and I am really excited and proud to
see more and more people beginning to notice and take an interest in Yazi!

What's Changed

 - feat: customizing the number of columns of "which key" component
   by @sxyazi in #571
 - fix: input offset is not reset when renaming with --cursor=start and the
   filename is too long by @sxyazi in #575
 - feat: new image_quality and sixel_fraction options to allow users to
   configure the image preview quality by @sxyazi in #576
 - feat: allow to configure image filter by @sxyazi in #586
 - feat: support passing arguments to plugin by @sxyazi in #587
 - feat: plugin-specific state persistence by @sxyazi in #590
 - feat: preview image over SSH by @sxyazi in #585
 - perf: read directory in bulk in the background at startup, make Yazi ~2.5
   times faster than before by @sxyazi in #599
 - refactor: use Cmd instead of Exec by @sxyazi in #604
 - feat: support unyank by @15cm in #313
 - feat: make trash crate optional on Android by @sxyazi in #600
 - feat: plugin interface for key events via ya.which() by @sxyazi in #617
 - feat: app_emit and manager_emit accepts boolean, integer, and number as
   option values by @sxyazi in #625
 - fix: attach plugin args to the entry method for better future optimization
   possibilities by @sxyazi in #627
 - feat: support char device in filetype by @HE7086 in #628
 - fix: hidden attribute of files on Windows by @sxyazi in #632
 - fix: task manager not re-rendering after progress update by @sxyazi in #633
 - feat: if input is empty, close it on backspace command
   by @Rolv-Apneseth in #630
jperkin pushed a commit that referenced this issue Mar 26, 2024
2.7.1 (2024-03-10)

What's Changed

* Update changes.md by @ioquatix in #311
* fix jruby warnings by @ahorek in #313
* Convert license to array of identifiers by @voxik in #312
jperkin pushed a commit that referenced this issue May 6, 2024
2.10.2 (2024-04-15)

What's Changed

* Update readme.md - fixing a typo by @peychinov in #313
* Add source_code_uri to published gemspec.

New Contributors

* @peychinov made their first contribution in #313

Contributors

* @peychinov


2.11.0 (2024-05-04)

What's Changed

* Update dependency on console gem and modernize usage.  by @ioquatix in
  #315

Contributors

* @ioquatix
jperkin pushed a commit that referenced this issue Oct 4, 2024
…vel/boost-headers,

devel/boost-libs,devel/boost-mpi,devel/py-boost: Uodate to 1.86.0

Changelog:
New Libraries

  * No new libraries.

Updated Libraries

  * Atomic:
      + Use futex(2) system call on OpenBSD since recent OpenBSD versions have
        removed support for syscall(2).
  * Beast:
      + API Changes
          o Added HTTP status code 418 I'm a teapot.
      + Fixes
          o Narrowing conversion in read_size_hint_db().
          o Overloads that are ambiguous when using default completion tokens.
          o Misplaced static_assert in http::basic_fields move-assignment
            operator.
          o Underflow of bytes_transferred in WebSocket partial write
            operations.
          o websocket::stream::read_size_hint() does not exceed
            read_message_max.
          o Various warnings in tests.
          o Error handling in SSL shutdown operations in examples.
          o Annotate fallthrough case in zlib.
          o Handling of expired timers in basic_stream::ops::transfer_op.
          o Ambiguity in test::basic_stream constructor overloads.
          o Partial parsing of the final chunk in http::parser.
      + Improvements
          o Graceful shutdown in server_flex_awaitable example.
          o Simplified awaitable examples.
          o Added fuzzing targets.
          o Remove superfluous uses of std::bind in some examples.
          o ssl_stream does not use flat_stream.
      + Documentation
          o ssl_stream and flat_stream marked as deprecated.
          o net::ssl::stream is canonical in snippets and examples.
          o Added SSL/TLS Shutdown Procedure section.
      + Acknowledgements
          o tyler92, Ruslan Zakirov, Orgad Shaneh, Alexander Kernozhitsky
  * Charconv:
      + Fixed support for PPC64LE architecture.
      + Fixed support for platforms like Alpine linux that provide the <
        quadmath.h> header but not the compiled library.
      + Fixed first character pattern matching in from_chars for integer types.
      + Fixed overflow detection for integers with base greater than 10.
      + Added native support for std::float16_t and std::bfloat16_t instead of
        using interchange formats.
  * Cobalt:
      + Added support for asio::cancel_after
      + Made asio::deferred co_await-able, because it's asio's default token
      + Added noop utility
      + Added experimental support for stackful coroutines/fibers
      + Fixed movability of channel & coroutine types
  * Compat:
      + Added bind_front.hpp, bind_back.hpp, invoke.hpp, mem_fn.hpp,
        integer_sequence.hpp and type_traits.hpp.
      + Added function_ref.hpp.
  * Container:
      + Fixed bugs/issues:
          o GitHub #285: "devector<>::push_front asserts after clear()".
          o GitHub #280: "Several containers don't support non-movable types
            when move assigning".
          o GitHub #279: "small_vector cannot go back to use stack space".
          o GitHub #277: "Remove dep on boost::static_assert".
          o GitHub #275: "Compilation fails if custom key comparison is used".
          o GitHub #273: "flat_map/vector crashes on appends (memory
            corruption)".
          o GitHub #269: "flat_multimap::emplace not sorting elements under
            GCC".
          o GitHub #266: "small_vector<T> is misaligned on the stack in 32
            bits".
          o GitHub #259: "Global variables".
          o GitHub #245: "flat_tree::insert ordered range doesn't assert
            sorting".
          o GitHub #241: "flat_map should support same interface as std::map".
  * Core:
      + Added a boost/core/pointer_in_range.hpp header with a pointer_in_range
        function template to check if a pointer is within a given range.
      + Fixed type_name for abstract classes. (#172)
      + Fixed boost/core/type_name.hpp compilation error with MSVC with
        disabled native wchar_t type. (#173)
      + Added a workaround for an MSVC bug causing empty_value compilation
        errors when it is used with a nested class. (PR#175)
  * CRC:
      + C++03 is no longer supported; a C++11 compiler is required. (This
        includes GCC 4.6 or later, and MSVC 10.0 (VS 2010) or later.)
      + Removed dependencies on Array, Config, Integer, and TypeTraits. The
        library is now standalone.
  * Filesystem:
      + is_empty operation is now better protected against concurrent
        filesystem modifications.
      + On POSIX systems, is_empty now indicates error if invoked on a file
        other than a regular file or a directory.
      + On Windows, fixed file_size and is_empty operating on symlinks rather
        than the files the symlinks refer to. (#313)
      + directory_entry::refresh no longer throws an exception if the file
        referenced by the entry doesn't exist. This makes directory_entry::
        status and directory_entry::symlink_status, as well as methods based on
        them, behave similarly to the equivalent standalone operations. The
        fact that the file does not exist is still indicated via the error_code
        returned by the corresponding directory_entry::refresh overload, or can
        be seen by testing if the file type returned by directory_entry::status
        or directory_entry::symlink_status calls is file_type::file_not_found.
        (#314)
      + Fixed weakly_canonical testing path elements for existence relative to
        the current path instead of the base path specified in the call, if the
        input path was a relative path.
      + On Windows, fixed weakly_canonical producing incorrect result path when
        the input path started with "..". (#311)
  * Format:
      + C++03 is no longer supported; a C++11 compiler is required. (This
        includes GCC 4.7 or later, and MSVC 12.0 (VS 2013) or later.)
  * Function:
      + Removed dependency on Boost.TypeTraits.
      + Brought back the argN_type typedefs that were accidentally lost in
        1.85.
  * GIL:
      + Added
          o Added tell() and error() functions to istream_device and
            ostream_device classes (PR#747).
      + Changed
          o Don't ignore custom color converter in color_converted_view
            function (PR#726).
          o Added workaround for conflict with min() and max() macros on WinAPI
            (PR#745).
          o The use of boost::filesystem in GIL is now configurable in CMake
            via option BOOST_GIL_USE_BOOST_FILESYSTEM (PR#743).
      + Fixed
          o Fixed convolution in convolve_2d (PR#723)
          o Normalize Gaussian 2D kernel to avoid darkening (PR#725)
          o Wrong buffer size in path string conversion functions for std::
            wstring is fixed, avoiding buffer overflows when using I/O-related
            functions with std::wstring paths (PR#746).
      + Acknowledgements
          o Christoph Gringmuth, Christopher Kormanyos, nicolacandussi, Dirk
            Stolle, Olzhas Zhumabek
  * Graph:
      + Major update: C++14 is the new minimum standard; this was partly
        dictated by dependencies (at least to C++11) and partly by choice. If
        you require support for an older standard, please contact the
        maintainer.
      + Remove direct dependency on Boost.Regex.
      + Fix several compilation errors caused by not explicitly including
        common headers.
      + isomorphism: Fix docs, ignore vertex_max_invariant parameter in favour
        of cheaply calculating upper exclusive bound, fix bug with Associative
        Property Map, improve space efficiency from linear in the size of the
        maximum invariant to linear in the size of g1.
      + boykov_kolmogorov_max_flow: Fix named parameter overload.
      + adj_list_edge_iterator: Fix maybe-uninitialized warnings.
      + hawick_circuits: Add a parameter to optionally limit the depth of the
        search, causing a potentially suboptimal answer to be returned early.
      + disjoint_sets: Improve performance of link_sets by removing redundant
        lookup of set representatives.
      + maximum_adjacency_search: Refactor and more tests.
      + property: Use BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS to remove wasted space.
      + labeled_graph: Fix remove_labeled_vertex so that it actually removes
        the label too.
      + r_c_shortest_paths: Fix bug that the single-solution variant did not
        always return the shortest path.
      + read_graphviz: Fix stack overflow (oss-fuzz issue 66719) and
        non-keyword subgraph parsing.
      + Many miscellaneous improvements: broken links, typos, etc.
  * Interprocess:
      + Fixed bugs:
          o GitHub #191 ("vectorstream: support file sizes larger than INT_MAX
            ").
          o GitHub #198 ("Minor fixes for documentation of offset_ptr").
          o GitHub #202 ("Allow to map message_queue in anonymous memory").
          o GitHub #207 ("cmake: link system libraries").
          o GitHub #214 ("Doc: Fix github links").
  * Intrusive:
      + Fixed bug GitHub #86: Invalid UTF-8 character in comment
  * JSON:
      + Support for GCC versions older than version 5.0 is deprecated and will
        stop in Boost 1.88.0.
      + source_location parameter was added to throwing accessor functions.
      + Parse option to tolerate invalid UTF-16 surrogate pairs, and produce
        WTF-8.
      + Added accessor functions that return system::result.
      + Handle missing error case in direct parsing.
  * LexicalCast:
      + Fixed conversion of std::basic_string_view and boost::basic_string_view
        containing one or more \0 characters. Issue was introduced in 1.85.0.
  * leaf:
      + More optimal verbose_diagnostic_info implementation.
      + Bug fixes.
      + Added [[nodiscard]] to class result<>.
  * Locale:
      + Add support for custom allocators in conv::utf_to_utf
      + Don't build examples by default
  * Log:
      + Added a workaround for windres.exe issue, when it is used in CMake to
        compile event log resource files on MinGW-w64. (PR#231)
  * Math:
      + Correct Bessel function results at infinity, see 1143.
      + Improve Non Central T numerical stability, see scipy20693.
      + Correct float_next/float_prior behaviour at infinity.
      + Prevent spurious underflow in non-central beta, see scipy20693.
      + Add improvement to Heuman Lambda precision.
      + Improve Skew Normal root finding, see 1120.
      + Lots of minor fixes and improved code coverage.
  * Multiprecision:
      + Make sure eval_convert_to() does not terminate with super large
        numbers, see 618.
      + Fix sinc implementation to match behavior of Boost.Math.
      + Fix divide-by-zero in cpp_int modulus operations.
      + Fix underflow behavior consistency for integers greater than 128-bits,
        see 626.
  * MySQL:
      + The long-deprecated functions query, start_query, execute_statement and
        start_statement_execution (and their async equivalents) have been
        removed.
      + Breaking changes to experimental APIs:
          o The identifier class (client-side SQL formatting) has been removed.
            Use the new format specifiers feature, instead.
          o The required interface for custom formatters has been changed to
            accomodate the new format specifiers API.
          o any_connection::async_connect now requires that its connect_params
            argument be kept alive until the operation completes. The overload
            taking a const connect_params* has been removed.
          o character_set::name is now a const char* instead of a string_view,
            as MySQL character set names can't contain NULL characters.
          o any_connection internal buffer is now limited to 64MB. If you need
            to read or write rows bigger than that, increase
            any_connection_params::max_buffer_size. connection and their helper
            typedefs are not limited.
          o Renamed any_connection_params::initial_read_buffer_size to
            initial_buffer_size.
          o Renamed pool_params::initial_read_buffer_size to
            initial_buffer_size.
      + New experimental API: pipelines. Pipelines can increase efficiency by
        coalescing several requests in a single network packet. Pipelines can
        be used to run text queries, prepare, execute and close statements,
        reset session state and set the connection's character set.
      + Client-side SQL formatting now supports ranges out of the box.
        Formatting can be further customized using the new sequence function.
        Use cases like batch inserts and batch lookups can be significantly
        simplified using this functionality.
      + Client-side SQL formatting now supports format specifiers which modify
        how values are formatted. {:i} formats a string as a dynamic SQL
        identifiers, and {:r} outputs a raw unescaped
      + The static interface (static_results and static_execution_state) now
        supports Boost.Pfr types using pfr_by_name and pfr_by_position. Added
        underlying_row_t to support such types.
      + date and datetime can now be constructed from and converted to C++20
        std::chrono::local_time.
      + Added any_connection_params::max_buffer_size, which allows to set a
        limit to the connection's internal buffer.
      + Added is_fatal_error, which allows users can now distinguish between
        fatal (which require closing and re-opening the connection) and
        non-fatal error codes.
      + Added formattable_ref, a type-erased reference type that can refer to
        any type satisfying the Formattable concept.
      + Fixed an ODR violation under MSVC which could cause crashes in release
        builds when using Boost.MySQL with other code also using asio::
        coroutine in different translation units.
  * Odeint:
      + Added CMake Option BOOST_NUMERIC_ODEINT_NO_ADAPTORS to reduce
        dependencies, see 82
      + Fixed CMake detection of MPI.
  * Process:
      + Moved the old boost.process to v1 subfolder and inline namespace.
        deprecated process/*.hpp v1 headers
      + Turned v2 into a compile library.
      + Fixed usage on alpine linux / musl
  * Stacktrace:
      + Big new feature: stacktrace from arbitrary exception for Windows. std::
        stacktrace::from_current_exception() now works on Windows platform.
        Many thanks to huangqinjin for the implementation PR#159 Now on POSIX
        and Windows the from_current_exception() function returns the
        stacktrace of the current exception object as if the stacktrace was
        captured at the point of throwing the exception.
      + Fixed inclusion of rarely used Windows SDK headers which can cause
        conflict with other code using Windows SDK. Thanks to Marat Abrarov for
        fixing the issue PR#157.
      + Build option boost.stacktrace.from_exception now properly works on
        MacOS. Thanks to Peter Dimov for the fix PR#166.
      + Fixed a typo in assert expression. Thanks to Kilian Henneberger for the
        bug report #164.
      + Fixed shadowing warnings. Thanks to Nigel Stewart for the bug report #
        141.
      + Added dladdr minimal support for AIX. Many thanks to Cl??ment Chigot
        for the implementation PR#114.
      + Added Boost::stacktrace CMake alias that refers to the best supported
        implementation of Boost.Stacktrace on the platform. Thanks to Alex for
        the feature PR#167.
      + Significant improvement of CMake: multiple fixes, added many new tests,
        improved CI. Many thanks to Peter Dimov for all the improvements.
      + Fix addr2line work when the process is looked up via PATH. Thanks to
        Schreischildkroete for the bug report and to Jens Richter for fix #72.
  * Test:
      + Fix -Wundef in configuration step.
      + Fix unreachable return compilation error on MSVC.
  * Unordered:
      + Added container pmr aliases when header <memory_resource> is available.
        The alias boost::unordered::pmr::[container] refers to boost::unordered
        ::[container] with a std::pmr::polymorphic_allocator allocator type.
      + Equipped open-addressing and concurrent containers to internally
        calculate and provide statistical metrics affected by the quality of
        the hash function. This functionality is enabled by the global macro
        BOOST_UNORDERED_ENABLE_STATS.
      + Avalanching hash functions must now be marked via an is_avalanching
        typedef with an embedded value constant set to true (typically,
        defining is_avalanching as std::true_type). using is_avalanching = void
        is deprecated but allowed for backwards compatibility.
      + Added Visual Studio Natvis framework custom visualizations for
        containers and iterators. This works for all containers with an
        allocator using raw pointers. In this release, containers and iterators
        are not supported if their allocator uses fancy pointers. This may be
        addressed in later releases.
  * UUID:
      + Major update.
      + C++03 is no longer supported, a C++11 compiler is required. (This
        includes GCC 4.8 or later, MSVC 14.0 (VS 2015) or later, and
        MinGW-w64.)
      + Decreased number of Boost dependencies from 39 (in total) to just 5.
      + Updated to reflect the newer RFC 9562.
      + Added generators for time-based UUIDs.
      + Many other improvements, see the revision history.
  * Wave:
      + Replaced one use of vsprintf with the more secure vsnprintf
      + Fixed bug:
          o #197: Improper signed overflow handling (UB and a missing division
            check)
  * WinAPI:
      + Added BOOST_USE_WINAPI_VERSION CMake option, which allows users to
        specify the Windows version for Boost to target.

Updated Tools

  * BoostBook:
      + DTD updated: constructor, copy-assignment and destructor elements are
        now allowed inside method-group elements.
      + Many fixes and improvements in Doxygen-generated documentation:
          o Fixed duplicate equal signs in Doxygen-generated enum value
            initializers.
          o Disabled alphabetical sorting of function arguments. The sorting
            can be re-enabled by setting the new boost.sort.params XSL
            parameter to 1.
          o Added support for custom class member grouping. See Doxygen tags @
            name and @{/@}.
          o Added support for Doxygen references to classes, methods, enums,
            variables, etc. (see @ref tag).
          o Added support for @remark and @Important tags.
          o Added support for @parblock tags, which can be used to place
            multiple paragraphs under a tag that expects a single paragraph as
            an argument (e.g. @returns).
          o Template parameter defaults that refer to implementation details
            are now concealed, similar to function parameter defaults.
          o Improved presentation of unnamed enums. Instead of showing a
            synthesized name such as @0, the name is either omitted or is [
            unnamed], if the name is necessary to introduce a link to the enum
            documentation.
          o Changed the "See Also" (@sa) blocks to be displayed inline, similar
            to "Returns".
          o Fixed presentation of multiple exception specifications (@throws).
          o Added support for free form description of throwing behavior. If
            the exception type after the @throws tag is "~" then the exception
            type is omitted from the output, and the following description is
            displayed directly in the "Throws" section.
          o Removed redundant spaces in return types and template parameters.
  * Build:
      + Includes release of B2 version 5.2.1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants