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

Package request: (HP) libunwind for SmartOS x86_64 #224

Open
am11 opened this issue Sep 24, 2019 · 5 comments
Open

Package request: (HP) libunwind for SmartOS x86_64 #224

am11 opened this issue Sep 24, 2019 · 5 comments

Comments

@am11
Copy link

am11 commented Sep 24, 2019

NetBSD/pkgsrc has LLVM's libunwind. https://github.com/NetBSD/pkgsrc/blob/trunk/lang/libunwind/Makefile (which can be renamed to llvm-libunwind IMO)

This package request is about nongnu (or HP) libunwind project: https://github.com/libunwind/libunwind.

The current master of libunwind repo is building on SmartOS with some test failures: https://github.com/libunwind/libunwind#expected-results-on-solaris-x86-64.

It would be of great help, if someone could investigate and offer fixes for those test failures.

@jperkin jperkin closed this as completed in 95b9f7d Dec 4, 2019
@am11
Copy link
Author

am11 commented Dec 4, 2019

@jperkin, i think it was the wrong Fix #224 in that PR (probably meant for other repository?). Could this be reopened please? :)

@jperkin jperkin reopened this Dec 4, 2019
@jperkin
Copy link
Collaborator

jperkin commented Dec 4, 2019

Silly GitHub auto-close feature that we can't turn off, sorry about that.

@am11
Copy link
Author

am11 commented Feb 8, 2020

upd: the upstream build was broken and fixed by libunwind/libunwind#158.
unfortunately, more tests are failing now compared to last year.

@am11
Copy link
Author

am11 commented Mar 31, 2020

Ops, closed again. 🙂

@jperkin
Copy link
Collaborator

jperkin commented Mar 31, 2020

Stupid GitHub auto-close.

@jperkin jperkin reopened this Mar 31, 2020
jperkin pushed a commit that referenced this issue May 3, 2020
pkgsrc changes:
 - Remove patches/patch-configure: applied uptsream
 - Convert the CHECK_PORTABILITY_SKIP to a REPLACE_BASH: it is more consistent
   with other REPLACE_BASHes (there are several files that are not installed
   then) and complaining about `==' test(1) operator in a bash script is
   not correct.

Changes:
1.27.4
------
- libcupsfilters, cups-browsed: Fix memory issues in
  ppdgenerator and cups-browsed (Pull request #226).
- pdftops: Mention cups-filters README, CUPS README in debug
  log (Pull request #225).
- pdftopdf, gstoraster, foomatic-rip: Use "-dSAFER"
  Ghostscript option, instead of the deprecated
  "-dPARANOIDSAFER" (Pull request #224).
- Build System: Replace '==' in configure.ac test with '=', as
  the former is a bashism (Pull request #222).

1.27.3
------
- cups-browsed: Allow sharing local queues pointing to remote
  CUPS queues and re-sharing printers discovered via
  BrowsePoll by default, using
  AllowResharingRemoteCUPSPrinters and
  NewBrowsePollQueuesShared directives in cups-browsed.conf
  (Issue #101, Pull request #218).
- driverless: Correctly unlink temporary file when generating
  PPD file (Pull request #220).
- cups-browsed: Fixed memory leaks (Pull request #219).
- foomatic-rip: PDF page count side-loads the PDF file to
  count the pages in, so it cannot be run in -dSAFER mode. Run
  even in -dNOSAFER mode to override the -dSAFER default of
  newer Ghostscript versions. This should not cause a security
  problem as we do not take an input file which could do
  arbitrary side-loads but we run hard-coded PostScript
  commands instead (Issue #216).
- libfontembed: Add checks to the test programs to not
  segfault if the test font file is not found (Pull request
  #214).
- Build System: Let ./configure fail if the supplied test font
  file path (or the default) does not exist (Pull request
  #214), also use the "find" command to find the test font
  file DejaVuSans.ttf under /usr/share/fonts, as every
  distribution has it somewhere else.

1.27.2
------
- foomatic-rip: In some PostScript input files it was possible
  that option settings did not get inserted or lines inserted
  on the wron place (Issue #208, Pull request #210).
- foomatic-rip: For the PDF page count call Ghostscript in
  sandbox mode and fix pointer arithmetics (Pull request
  #212).
- foomatic-rip: Zero-page-job handling changes made the last
  page of PostScript files not printed, also turning one-page
  jobs into zero-page jobs (Issue #200, Issue #206, Issue
  #208, Pull request #209, Pull request #210, Pull request
  #211).
- cups-browsed: check_printer_with_option() function:
  Initialize the value, add further checks, freeing memory and
  stop allocating magic numbers (Pull request #204).
- cups-browsed: Additional checks against crashes in the
  is_local_hostname() function (Ubuntu bug #1863716)

1.27.1
------
- libcupsfilters: Let the PPD generator not put any dashes
  into the PPD option and choice names when translating them
  from IPP attribute names, to avoid that on the
  back-translation by CUPS no double-dashes are
  generated. This broke paper tray selections with tray names
  like "tray-1", "tray-2", ... (Issue #192, Issue #201, Debian
  bug #949315).
- foomatic-rip: Fixed segfault when PRINTER environment
  variable is not supplied.
- pdftopdf, pdftops, gstoraster, gstopdf, gstopxl,
  rastertoescpx, rastertopclx, foomatic-rip: Handle zero-page
  jobs (Issue #117, Pull request #196, Pull request #197, Pull
  request #198, Pull request #200).
- texttopdf: Added support for CJK (double-width) fonts (Issue
  #135, Pull request #199).
- cups-browsed: Switched default for "CreateIPPPrinterQueues"
  from "local-only" to "All". The configure script options
  "--enable-auto-setup-local-only" and
  "--enable-auto-setup-driverless-only" can be used to change
  this default (Debian bug #921252).
- rastertoescpx: Fixed wrong freeing of a buffer.
- pdftops: Added options "crop-to-fit" and "fill" to the
  pdftopdf options which the pstops called by pdftops should
  not apply a second time.
- pdftops: Added missing "-sstdout=%stderr" to Ghostscript
  command line, to assure that all messages are redirected to
  stderr and do not mix up with the output data.

1.27.0
------
- cups-browsed: Eliminate the use of the local CUPS daemon's
  (the CUPS we are attached to) port number completely, so
  that for attaching to an arbitrary local CUPS daemon
  listening on an arbitrary port (or even not listening on
  localhost at all) it is enough to tell cups-browsed the
  domain socket the CUPS daemon is listening on.
- cups-browsed, libcupsfilters: Identify DNS-SD-reported
  printers as of the local CUPS daemon via UUID and not via
  the port on which the local CUPS is listening, as we do not
  always have this port available.
- cups-browsed: Leave the port for legacy CUPS browsing and
  broadcasting on 631, do not use a possible alternative port
  of the CUPS we are attached to. The legacy CUPS servers we
  communicate with are always remote ones.
- libcupsfilters: in the PPD generator prioritize
  print-color-mode-supported against
  pwg-raster-document-type-supported (Issue #186, Pull request
  #188)
- rastertopdf, rastertops, texttopdf, pdftoraster,
  mupdftoraster: Handle zero-page jobs, corrections on
  zero-page job handling (Issue #117)
- cups-browsed: When restarting after a crash make sure that
  local queue names have same upper/lower case as before.
- cups-browsed: Small code improvements to reduce crash
  probability.

1.26.2
------
- cups-browsed: Added crash guards to avoid crashes in case
  the dummy printer entry for a deleted master entry is used.
- cups-browsed: Set the port of the local CUPS daemon to be
  used according to the IPP_PORT environment variable.
- cups-browsed: Eliminated the use of the cupsGetPPD2()
  function of libcups completely, also the remaining calls
  in the record_printer_options() and update_cups_queues()
  functions, the former causing incomplete recording of
  option settings and the latter use of CUPS-generated
  PPDs not working when CUPS is running on a non-standard
  port.
- cups-browsed: Eliminated the use of the cupsGetPPD2()
  function of libcups in queue_overwritten(). The function
  actually loads the queue's PPD file if the queue is on a
  local CUPS on port 631. Due to a bug the function fails if
  an alternative port is used. This lets queue_overwritten()
  always assume that the PPD got removed and therefore the
  queue got overwritten. So queues got released from
  cups-browsed if it was printed on them or if they were
  supposed to be removed on shutdown.
- foomatic-rip: Fixed compilation with -fno-common. Starting
  from the upcoming GCC 10, the default of the -fcommon option
  will change to -fno-common. This causes compilation errors
  in foomatic-rip due to missing "external" declarations.
  (Pull request #184).
jperkin pushed a commit that referenced this issue May 20, 2020
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------

Fix
~~~
- `eyeD3 --genre ""` to clear genre frame restored.
- Genre id->name mapping for non-standard genres and custom maps.


v0.9.4 (2020-03-21) : The Devil Made Me Do It
-----------------------------------------------

New
~~~
- Relative volume adjustments (RVA2 and RVAD) (#399)
- Tag properties copyright and encoded_by
- Support GRP1 (Apple) frames.

Changes
~~~~~~~
- Genre serialization not ID3 v2.3 format by default, and other genre cleanup (#402)
  fixes #382

Fix
~~~
- Date correctness between ID3 versions (#396)
- PopularityFrame email encoding bug.
- Plugins more featured in docs


v0.9.3 (2020-03-01) : It Dawned On Me
--------------------------------------

Changes
~~~~~~~
- Track/disc numbers can be set with integer strings.
- Disc number getter and setter hooks

v0.9.2 (2020-02-10) : Into The Future
--------------------------------------

Fix
~~~
- Removed setting of PYTHONIOENCODING, it breaks MacOS.
  Fixes #388


v0.9.1 (2020-02-09) : Dead and Gone
------------------------------------

Fix
~~~
- Docs and pep8.

Other
~~~~~
- Experiment with setting utf-8 writer for stdout and stderr.


v0.9 (2020-01-01) : Favorite Thing
-----------------------------------

Major Changes
~~~~~~~~~~~~~
- Dropped support for Python versions 2.7, 3.4, and 3.5.
- File scanning is no longer recursive by default; use `-r / --recursive`.
- Default log-level changed from WARNING to ERROR.

New
~~~
- Mime-type detection uses filetype.py (libmagic no longer required)
- setFileScannerOpts function accepts `default_recursive` option.
- A new `jsontag` plugin for converting tags to JSON.
- A new `extract` plugin for extracting tags from media.
- A new `yamltag` plugin for converting tags to YAML.
- A new `mimetypes` plugin for listing file mime-types / measuring performance
- Original artist support (TOPE frame, --orig-artist)
- Added support for Python 3.8 and pypy3.

Changes
~~~~~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379
- Adjust replay gain correctly for lame >= 3.95.1 headers.
- Added -r/--recursive argument. eyeD3 is no longer recursive by default (#378)
- Regenerated grako parser.
- New ValueError for _setNum when unknown type/values are passed.
- Moved src/* to top-level repo directory.

Fix
~~~
- PRIV data type checking, fixed examples, etc.
- Use tox for `make test`
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338
- Fix simple typo: titel -> title. <[email protected]>
- Fixed: load the right config file in arguments. <[email protected]>
- Fix issue tracker link. Fixes #333.
- Fixed art plugin when `pylast` is not installed.
- Unbound variable for track num/total.  Fixes #327.
- Fixed MP3 header search to not false match on BOMs.
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <[email protected]>
- UFID fixes, update (#325) <[email protected]>

Other
~~~~~
- Deprecation of eyed3.utils.guessMimeType
- Removed ipdb from dev requirements


v0.8.12 (2019-12-27)
---------------------

Changes
~~~~~~~
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379

Other
~~~~~
- Test with py38


v0.8.11 (2019-11-09)
------------------------

Fix
~~~
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338


v0.8.10 (2019-03-07) : Apples
------------------------------

New
~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.

Fix
~~~
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <[email protected]>


v0.8.9 (2019-01-12) : Descent Into...
--------------------------------------

Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <[email protected]>

Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
  <[email protected]>
- Requirements.txt: pathlib is only needed for older python versions
  (#284) <[email protected]>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.


v0.8.8 (2018-11-28) : In Ruins
------------------------------

New
~~~
- Follow symlink directories. Fixes #224

Changes
~~~~~~~
- Eyed3.core.AudioInfo `time_secs` is now a float and non-lossy. Fixes #210
- Removed Python 3.3 support.

Fix
~~~
- Better type handling during TLEN [fixup plugin].
- Don't tweak logging by default, only thru `main`. Fixes #243

Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
  the issue #219] (#220) <[email protected]>


v0.8.7 (2018-06-11) : Aeon
---------------------------

Fix
~~~
- Only use os.fwalk where supported.


v0.8.6 (2018-05-27) : Robot Man
--------------------------------

New
~~~
- Art plugin can now download album covers from last.fm.

Changes
~~~~~~~
- Use os.fwalk for its better performance (esp. >= py37) Fixes #166
- TagTemplate `path_friendly` is now a string, namely the delimiter to use.

Fix
~~~
- Classic plugin: --write-image will work with --quiet. Fixes #188
- Multiple fixes for display plugin %images% replacements. Fixes #176
- Allow --remove-* options to work when there are no tags. Fixes #183


v0.8.5 (2018-03-27) : 30$ Bag
-----------------------------

New
~~~
- Mp3AudioFile.initTag now returns the new tag.
- Eyed3.core.EP_MAX_SIZE_HINT.
- Added docs for install devel dependencies and test data.

Changes
~~~~~~~
- Similarly to TextFrame, fallback to latin1 for invalid encodings.
- Removed paver as a dep.
- Removed fabfile and mkenv.
- Clean pytest_cache.
- Nicfit.py cc update.

Fix
~~~
- Handle missing `fcntl` on Windows. Fixes #135.
- In addition to None, "" will now clear dates.
- Update index.rst to reflect the code is in a Git repo, not Mercurial (#164)
  <[email protected]>

Other
~~~~~
- Update pytest from 3.2.2 to 3.5.0 (#175) <[email protected]>
- Update twine from 1.9.1 to 1.11.0 (#173) <[email protected]>
- Update sphinx from 1.6.5 to 1.7.2 (#174) <[email protected]>
- Update sphinxcontrib-paverutils from 1.16.0 to 1.17.0 (#172) <github-
  [email protected]>
- Update pytest-runner from 3.0 to 4.2 (#171) <[email protected]>
- Update nicfit.py from 0.7 to 0.8 (#161) <[email protected]>
- Update ipdb from 0.10.3 to 0.11 (#159) <[email protected]>
- Update factory-boy from 2.9.2 to 2.10.0 (#150) <[email protected]>
- Update pyaml from 17.10.0 to 17.12.1 (#138) <[email protected]>
- Update python-magic to 0.4.15 (#130) <[email protected]>
- Update pip-tools from 1.10.1 to 1.11.0 (#129) <[email protected]>
- Update check-manifest from 0.35 to 0.36 (#125) <[email protected]>


v0.8.4 (2017-11-17) : The Cold Vein
-------------------------------------

New
~~~
- Composer (TCOM) support (#123)
- Check for version incompatibilities during version changes.

Changes
~~~~~~~
- More forgiving of invalid text encoding identifiers (fixes #101)
- More forgiving of bad Unicode in text frames (fixes #105)
- EyeD3 cmd line helper turned not session-scoped fixture.
- Only warn about missing grako when the plugin is used. Fixes #115.

Fix
~~~
- Fix python3 setup when system encoding is not utf-8 (#120)
  <[email protected]>
- Fix bad frames detection in stats plugin for python3 (#113)
  <[email protected]>
- Script exits with 0 status when called with --version/--help (#109)
  <[email protected]>
- Help pymagic with poorly encoded filenames.
- [display plugin] Handle comments.
- [display plugin] Handle internal exception types. Fixes #118.
- IOError (nor OSError) have a message attr.

Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <[email protected]>
- Update pytest-runner to 3.0 (#108) <[email protected]>
- Update sphinx to 1.6.5 (#106) <[email protected]>
- Update flake8 to 3.5.0 (#107) <[email protected]>


v0.8.3 (2017-10-22) : So Alone
-------------------------------

Fix
~~~
- Reload and process after tag removals, fixes #102. (PR #103)
- Display incorrectly encoded strings (usually filenames)

Other
~~~~~
- Make the classic output span the actual width of the tty so you can
  see the actual path with a long file name. (#92) <[email protected]>


v0.8.2 (2017-09-23) : Standing At the Station
----------------------------------------------

New
~~~
- Pypy and pypy3 support.

Changes
~~~~~~~
- 'nose' is no longer used/required for testing.

Fix
~~~
- Fix for Unicode paths when using Python2.  Fixes #56.


v0.8.1 (2017-08-26) : I Can't Talk To You
------------------------------------------

New
~~~
- ``make pkg-test-data`` target.
- Sample mime-type tests.

Fix
~~~
- Added ``python-magic`` as a dependency for reliable mime-type detection.
  Fixes #61
- Add pathlib to requirements. Fixes #43.
- [doc] Fixed github URL.


v0.8 (2017-05-13) : I Don't Know My Name
-----------------------------------------
.. warning::
  This release is **NOT** API compatible with 0.7.x. The majority
  of the command line interface has been preserved although many options
  have either changed or been removed.  Additionally, support for Python 2.6
  has been dropped.

New
~~~
- Python 3 support (version 2.7 and >= 3.3 supported)
- The Display plugin (-P/--plugin display) enables complete control over tag
  output. Requires ``grako``. If using pip, ``pip install eyeD3[display]``.
  Contributed by Sebastian Patschorke.
- Genre.parse(id3_std=False) (and --non-std-genres) to disable genre #
  mapping.
- eyed3.load accept pathlib.Path arguments.
- eyed3.core.AudioFile accept pathlib.Path arguments.
- eyed3.utils.walk accept pathlib.Path arguments.
- New manual page. Contributed by Gaetano Guerriero
- ``make test-data``

Changes
~~~~~~~~
- Project home from to GitHub: https://github.com/nicfit/eyeD3

Fix
~~~
- Lang fixes, and no longer coerce invalids to eng.

Other
~~~~~
- Moved to pytest, although unittest not yet purged.
jperkin pushed a commit that referenced this issue Jul 14, 2020
### All Platforms
- Allow the RPC server to listen on an IPv6 address ([#161](transmission/transmission#161))
- Change `TR_CURL_SSL_VERIFY` to `TR_CURL_SSL_NO_VERIFY` and enable verification by default ([#334](transmission/transmission#334))
- Go back to using hash as base name for resume and torrent files (those stored in configuration directory) ([#122](transmission/transmission#122))
- Handle "fields" argument in "session-get" RPC request; if "fields" array is present in arguments, only return session fields specified; otherwise return all the fields as before
- Limit the number of incorrect authentication attempts in embedded web server to 100 to prevent brute-force attacks ([#371](transmission/transmission#371))
- Set idle seed limit range to 1..40320 (4 weeks tops) in all clients ([#212](transmission/transmission#212))
- Add Peer ID for Xfplay, PicoTorrent, Free Download Manager, Folx, Baidu Netdisk torrent clients ([#256](transmission/transmission#256), [#285](transmission/transmission#285), [#355](transmission/transmission#355), [#363](transmission/transmission#363), [#386](transmission/transmission#386))
- Announce `INT64_MAX` as size left if the value is unknown (helps with e.g. Amazon S3 trackers) ([#250](transmission/transmission#250))
- Add `TCP_FASTOPEN` support (should result in slight speedup) ([#184](transmission/transmission#184))
- Improve ToS handling on IPv6 connections ([#128](transmission/transmission#128), [#341](transmission/transmission#341), [#360](transmission/transmission#360), [#692](transmission/transmission#692), [#737](transmission/transmission#737))
- Abort handshake if establishing DH shared secret fails (leads to crash) ([#27](transmission/transmission#27))
- Don't switch trackers while announcing (leads to crash) ([#297](transmission/transmission#297))
- Improve completion scripts execution and error handling; add support for .cmd and .bat files on Windows ([#405](transmission/transmission#405))
- Maintain a "session ID" file (in temporary directory) to better detect whether session is local or remote; return the ID as part of "session-get" response (TRAC-5348, [#861](transmission/transmission#861))
- Change torrent location even if no data move is needed ([#35](transmission/transmission#35))
- Support CIDR-notated blocklists ([#230](transmission/transmission#230), [#741](transmission/transmission#741))
- Update the resume file before running scripts ([#825](transmission/transmission#825))
- Make multiscrape limits adaptive ([#837](transmission/transmission#837))
- Add labels support to libtransmission and transmission-remote ([#822](transmission/transmission#822))
- Parse `session-id` header case-insensitively ([#765](transmission/transmission#765))
- Sanitize suspicious path components instead of rejecting them ([#62](transmission/transmission#62), [#294](transmission/transmission#294))
- Load CA certs from system store on Windows / OpenSSL ([#446](transmission/transmission#446))
- Add support for mbedtls (formely polarssl) and wolfssl (formely cyassl), LibreSSL ([#115](transmission/transmission#115), [#116](transmission/transmission#116), [#284](transmission/transmission#284), [#486](transmission/transmission#486), [#524](transmission/transmission#524), [#570](transmission/transmission#570))
- Fix building against OpenSSL 1.1.0+ ([#24](transmission/transmission#24))
- Fix quota support for uClibc-ng 1.0.18+ and DragonFly BSD ([#42](transmission/transmission#42), [#58](transmission/transmission#58), [#312](transmission/transmission#312))
- Fix a number of memory leaks (magnet loading, session shutdown, bencoded data parsing) ([#56](transmission/transmission#56))
- Bump miniupnpc version to 2.0.20170509 ([#347](transmission/transmission#347))
- CMake-related improvements (Ninja generator, libappindicator, systemd, Solaris and macOS) ([#72](transmission/transmission#72), [#96](transmission/transmission#96), [#117](transmission/transmission#117), [#118](transmission/transmission#118), [#133](transmission/transmission#133), [#191](transmission/transmission#191))
- Switch to submodules to manage (most of) third-party dependencies
- Fail installation on Windows if UCRT is not installed

### Mac Client
- Bump minimum macOS version to 10.10
- Dark Mode support ([#644](transmission/transmission#644), [#722](transmission/transmission#722), [#757](transmission/transmission#757), [#779](transmission/transmission#779), [#788](transmission/transmission#788))
- Remove Growl support, notification center is always used ([#387](transmission/transmission#387))
- Fix autoupdate on High Sierra and up by bumping the Sparkle version ([#121](transmission/transmission#121), [#600](transmission/transmission#600))
- Transition to ARC ([#336](transmission/transmission#336))
- Use proper UTF-8 encoding (with macOS-specific normalization) when setting download/incomplete directory and completion script paths ([#11](transmission/transmission#11))
- Fix uncaught exception when dragging multiple items between groups ([#51](transmission/transmission#51))
- Add flat variants of status icons for message log ([#134](transmission/transmission#134))
- Optimize image resources size ([#304](transmission/transmission#304), [#429](transmission/transmission#429))
- Update file icon when file name changes ([#37](transmission/transmission#37))
- Update translations

### GTK+ Client
- Add queue up/down hotkeys ([#158](transmission/transmission#158))
- Modernize the .desktop file ([#162](transmission/transmission#162))
- Add AppData file ([#224](transmission/transmission#224))
- Add symbolic icon variant for the Gnome top bar and when the high contrast theme is in use ([#414](transmission/transmission#414), [#449](transmission/transmission#449))
- Update file icon when its name changes ([#37](transmission/transmission#37))
- Switch from intltool to gettext for translations ([#584](transmission/transmission#584), [#647](transmission/transmission#647))
- Update translations, add new translations for Portuguese (Portugal)

### Qt Client
- Bump minimum Qt version to 5.2
- Fix dropping .torrent files into main window on Windows ([#269](transmission/transmission#269))
- Fix prepending of drive letter to various user-selected paths on Windows ([#236](transmission/transmission#236), [#307](transmission/transmission#307), [#404](transmission/transmission#404), [#437](transmission/transmission#437), [#699](transmission/transmission#699), [#723](transmission/transmission#723), [#877](transmission/transmission#877))
- Fix sorting by progress in presence of magnet transfers ([#234](transmission/transmission#234))
- Fix .torrent file trashing upon addition ([#262](transmission/transmission#262))
- Add queue up/down hotkeys ([#158](transmission/transmission#158))
- Reduce torrent properties (file tree) memory usage
- Display tooltips in torrent properties (file tree) in case the names don't fit ([#411](transmission/transmission#411))
- Improve UI look on hi-dpi displays (YMMV)
- Use session ID (if available) to check if session is local or not ([#861](transmission/transmission#861))
- Use default (instead of system) locale to be more flexible ([#130](transmission/transmission#130))
- Modernize the .desktop file ([#162](transmission/transmission#162))
- Update translations, add new translations for Afrikaans, Catalan, Danish, Greek, Norwegian Bokmål, Slovenian

### Daemon
- Use libsystemd instead of libsystemd-daemon (TRAC-5921)
- Harden transmission-daemon.service by disallowing privileges elevation ([#795](transmission/transmission#795))
- Fix exit code to be zero when dumping settings ([#487](transmission/transmission#487))

### Web Client
- Fix tracker error XSS in inspector (CVE-?)
- Fix performance issues due to improper use of `setInterval()` for UI refresh (TRAC-6031)
- Fix recognition of `https://` links in comments field ([#41](transmission/transmission#41), [#180](transmission/transmission#180))
- Fix torrent list style in Google Chrome 59+ ([#384](transmission/transmission#384))
- Show ETA in compact view on non-mobile devices ([#146](transmission/transmission#146))
- Show upload file button on mobile devices ([#320](transmission/transmission#320), [#431](transmission/transmission#431), [#956](transmission/transmission#956))
- Add keyboard hotkeys for web interface ([#351](transmission/transmission#351))
- Disable autocompletion in torrent URL field ([#367](transmission/transmission#367))

### Utils
- Prevent crash in transmission-show displaying torrents with invalid creation date ([#609](transmission/transmission#609))
- Handle IPv6 RPC addresses in transmission-remote ([#247](transmission/transmission#247))
- Add `--unsorted` option to transmission-show ([#767](transmission/transmission#767))
- Widen the torrent-id column in transmission-remote for cleaner formatting ([#840](transmission/transmission#840))
jperkin pushed a commit that referenced this issue Sep 16, 2020
2.32      2020-09-11 10:42:41 -0600
  - Production release identical to 2.27_01

2.31_01   2020-09-09 06:26:25 -0600
  - Diagnostic release

2.30_01   2020-09-08 14:48:12 -0600
  - Documentation fixes (gh#223, #224, #225, shawnlaffan++)
  - Use shorter filename paths for test files to keep older versions of tar
    happy (gh#228, gh#229, gh#230)
jperkin pushed a commit that referenced this issue Sep 18, 2020
0.60:

Asciidoc:
 * Introduce "compat" option to parse like asciidoc or asciidoctor.

Text (and Markdown):
 * Fix the support of nested lists (GitHub's #131).

Other:
 * Remove the experimental C extension that was never built,
   distributed, tested nor modified since 2007.

XML:
 * Provide a meaningful message when the translators butcher the
   <placeholder> attributes instead of truncating the file.
   (GitHub's #254)


0.59.1:

po4a tool:
 * Really fix --srcdir and --destdir handling (Debian's #960892 again).
   Even with the previous fix, the aptitude package was still broken.

Documentation:
 * Clarify the syntax of -o parameters (GitHub's #233).

Sgml:
 * Sort the attributes. Without this, msgids are randomly fuzzied.
   (Debian's #725931 and Debian's #810988)


0.59:

po4a tool:
 * Fix --srcdir handling (GitHub's #237 and Debian's #960892).
   This bug was breaking the build of several packages, including dpkg.

Addendum:
 * New mode 'eof' to easily add at the end of the file (Debian's #960949).

Documentation:
 * Fix many typos and glitches
 * Start a section about external projects using po4a

Tests:
 * po4a: Add a test for the [po_directory] feature

Overall:
 * Improve the displayed messages, don't translate debug messages.


0.58.1:

Documentation:
 * Document an option of the XML parser (GitHub's #223).
 * Small glitches found during the translations.

Tests:
 * Also ignore 'Project-Id-Version' when diffing PO files (GitHub's #224)
 * asciidoc: reactivate tablecells tests

AsciiDoc:
 * Fix management of images in tables (Github's #226)
 * Tolerate underline length variations in two lines titles (Github's #212)


0.58:

AsciiDoc:
 * Accept numbered list items beginning with any number of dots
   (GitHub's #210)

Markdown:
 * Avoid translating Markdown fenced code block info string (GitHub's #194)
 * List Markdown fenced code block info string as text type (GitHub's #195)
 * Support YAML Front Matter (GitHub's #196). This requires YAML::Tiny.
 * Introduce options yfm_keys and yfm_skip_array to respectively
   specify which YAML keys should be translated, and that the array
   content should not be translated.
 * Work around a bug in YAML::Tiny that quotes numbers (GitHub's #217)
 * Add gettext flag "markdown-text" for relevant entries (GitHub's #208)

Text:
 * Honor the (existing) --neverwrap option to handle every content verbatim.

Texinfo:
 * Add the comments starting with 'TRANSLATORS:' to the po file
   (GitHub's #162)

XHTML:
 * Don't fail nor warn when a closing tag is missing, that's legit in HTML.
   (GitHub's #179)

XML and DocBook:
 * Allow attributes with no value (GitHub's #178).
 * Processing Instructions are handled as inline tags by default, but
   you can change them back to breaking with '-o break-pi' (GitHub's #170)

Yaml:
 * Introduce option to skip array values. (GitHub's #187)

po4a tool:
 * Cleanups and fixups about options' parsing (now tested and documented)
     _
    / \  You may need to upgrage your po4a.conf if you were using
   /_!_\ "unwanted features" (ie, bugs) of the previous implementation.

 * Do not touch source dir when --destdir is provided (Debian #602387)
 * Pass --add-location=file to msgmerge when receiving option porefs.
   (requires gettext >= 0.19 -- June 2014)
 * Option --master-charset sets the charset of the generated POT file.
 * Option --master-language sets the language of the generated POT file.
 * Add support for addendum path in po4a_paths (Debian #823189)
 * Stop pretending that --porefs can control the wrapping of reference
   comments, as the gettext tools used internally always rewrap them.

Scripts:
 * Rename po4aman-display-po to po4a-display-man
 * Rename po4apod-display-po to po4a-display-pod

Core:
 * Use UTF-8 by default (the 20th century is over -- Debian #862460)
   po4a used to prefer ascii unless it proved impossible. But the
   underlying detection would fail, possibly for document containing
   UTF-8 chars composed on printable ascii chars only.
 * Add a --wrap-po option to control how the po file is wrapped, and
   chose between either nicely wrapped files that tend to produce git
   conflicts, or ugly files that are easy to automatically deal with.

Tests:
 * Completely refactor most tests. They are now more reliable and the
   error messages are much more useful to understand the issues.
 * Many bugs to po4a and the core were ironed out in the process.
 * PO files content are now tested too (GitHub's #67)

Documentation:
 * Various cleanups by Golubev Alexander (GitHub's #190 & #191)
jperkin pushed a commit that referenced this issue Sep 21, 2020
2.0.3 (2020-08-22)
~~~~~~~~~~~~~~~~~~

- Fix issues when building re2c as a CMake subproject
  (`#302 <https://github.com/skvadrik/re2c/pull/302>`_:

- Final corrections in the SIMPA article "RE2C: A lexer generator based on
  lookahead-TDFA", https://doi.org/10.1016/j.simpa.2020.100027

2.0.2 (2020-08-08)
~~~~~~~~~~~~~~~~~~

- Enable re2go building by default.

- Package CMake files into release tarball.

2.0.1 (2020-07-29)
~~~~~~~~~~~~~~~~~~

- Updated version for CMake build system (forgotten in release 2.0).

- Added a short article about re2c for the Software Impacts journal.

2.0 (2020-07-20)
~~~~~~~~~~~~~~~~

- Added new code generation backend for Go and a new ``re2go`` program
  (`#272 <https://github.com/skvadrik/re2c/issues/272>`_: Go support).
  Added option ``--lang <c | go>``.

- Added CMake build system as an alternative to Autotools
  (`#275 <https://github.com/skvadrik/re2c/pull/275>`_:
  Add a CMake build system (thanks to ligfx),
  `#244 <https://github.com/skvadrik/re2c/issues/244>`_: Switching to CMake).

- Changes in generic API:

  + Removed primitives ``YYSTAGPD`` and ``YYMTAGPD``.
  + Added primitives ``YYSHIFT``, ``YYSHIFTSTAG``, ``YYSHIFTMTAG``
    that allow to express fixed tags in terms of generic API.
  + Added configurations ``re2c:api:style`` and ``re2c:api:sigil``.
  + Added named placeholders in interpolated configuration strings.

- Changes in reuse mode (``-r, --reuse`` option):

  + Do not reset API-related configurations in each `use:re2c` block
    (`#291 <https://github.com/skvadrik/re2c/issues/291>`_:
    Defines in rules block are not propagated to use blocks).
  + Use block-local options instead of last block options.
  + Do not accumulate options from rules/reuse blocks in whole-program options.
  + Generate non-overlapping YYFILL labels for reuse blocks.
  + Generate start label for each reuse block in storable state mode.

- Changes in start-conditions mode (``-c, --start-conditions`` option):

  + Allow to use normal (non-conditional) blocks in `-c` mode
    (`#263 <https://github.com/skvadrik/re2c/issues/263>`_:
    allow mixing conditional and non-conditional blocks with -c,
    `#296 <https://github.com/skvadrik/re2c/issues/296>`_:
    Conditions required for all lexers when using '-c' option).
  + Generate condition switch in every re2c block
    (`#295 <https://github.com/skvadrik/re2c/issues/295>`_:
    Condition switch generated for only one lexer per file).

- Changes in the generated labels:

  + Use ``yyeof`` label prefix instead of ``yyeofrule``.
  + Use ``yyfill`` label prefix instead of ``yyFillLabel``.
  + Decouple start label and initial label (affects label numbering).

- Removed undocumented configuration ``re2c:flags:o``, ``re2c:flags:output``.

- Changes in ``re2c:flags:t``, ``re2c:flags:type-header`` configuration:
  filename is now relative to the output file directory.

- Added option ``--case-ranges`` and configuration ``re2c:flags:case-ranges``.

- Extended fixed tags optimization for the case of fixed-counter repetition.

- Fixed bugs related to EOF rule:

  + `#276 <https://github.com/skvadrik/re2c/issues/276>`_:
    Example 01_fill.re in docs is broken
  + `#280 <https://github.com/skvadrik/re2c/issues/280>`_:
    EOF rules with multiple blocks
  + `#284 <https://github.com/skvadrik/re2c/issues/284>`_:
    mismatched YYBACKUP and YYRESTORE
    (Add missing fallback states with EOF rule)

- Fixed miscellaneous bugs:

  + `#286 <https://github.com/skvadrik/re2c/issues/286>`_:
    Incorrect submatch values with fixed-length trailing context.
  + `#297 <https://github.com/skvadrik/re2c/issues/297>`_:
    configure error on ubuntu 18.04 / cmake 3.10

- Changed bootstrap process (require explicit configuration flags and a path to
  re2c executable to regenerate the lexers).

- Added internal options ``--posix-prectable <naive | complex>``.

- Added debug option ``--dump-dfa-tree``.

- Major revision of the paper "Efficient POSIX submatch extraction on NFA".

----
1.3x
----

1.3 (2019-12-14)
~~~~~~~~~~~~~~~~

- Added option: ``--stadfa``.

- Added warning: ``-Wsentinel-in-midrule``.

- Added generic API primitives:

  + ``YYSTAGPD``
  + ``YYMTAGPD``

- Added configurations:

  + ``re2c:sentinel = 0;``
  + ``re2c:define:YYSTAGPD = "YYSTAGPD";``
  + ``re2c:define:YYMTAGPD = "YYMTAGPD";``

- Worked on reproducible builds
  (`#258 <https://github.com/skvadrik/re2c/pull/258>`_:
  Make the build reproducible).

----
1.2x
----

1.2.1 (2019-08-11)
~~~~~~~~~~~~~~~~~~

- Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_:
  re2c should install unicode_categories.re somewhere.

- Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_:
  Turn off re2c:eof = 0.

1.2 (2019-08-02)
~~~~~~~~~~~~~~~~

- Added EOF rule ``$`` and configuration ``re2c:eof``.

- Added ``/*!include:re2c ... */`` directive and ``-I`` option.

- Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives.

- Added ``--input-encoding <ascii | utf8>`` option.

  + `#237 <https://github.com/skvadrik/re2c/issues/237>`_:
    Handle non-ASCII encoded characters in regular expressions
  + `#250 <https://github.com/skvadrik/re2c/issues/250>`_
    UTF8 enoding

- Added include file with a list of definitions for Unicode character classes.

  + `#235 <https://github.com/skvadrik/re2c/issues/235>`_:
    Unicode character classes

- Added ``--location-format <gnu | msvc>`` option.

  + `#195 <https://github.com/skvadrik/re2c/issues/195>`_:
    Please consider using Gnu format for error messages

- Added ``--verbose`` option that prints "success" message if re2c exits
  without errors.

- Added configurations for options:

  + ``-o --output`` (specify output file)
  + ``-t --type-header`` (specify header file)

- Removed configurations for internal/debug options.

- Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``,
  ``/*!use:re2c*/`` and ``/*!re2c*/`` blocks.

  + `#55 <https://github.com/skvadrik/re2c/issues/55>`_:
    allow standard re2c blocks in reuse mode

- Fixed ``-F --flex-support`` option: parsing and operator precedence.

  + `#229 <https://github.com/skvadrik/re2c/issues/229>`_:
    re2c option -F (flex syntax) broken
  + `#242 <https://github.com/skvadrik/re2c/issues/242>`_:
    Operator precedence with --flex-syntax is broken

- Changed difference operator ``/`` to apply before encoding expansion of
  operands.

  + `#236 <https://github.com/skvadrik/re2c/issues/236>`_:
    Support range difference with variable-length encodings

- Changed output generation of output file to be atomic.

  + `#245 <https://github.com/skvadrik/re2c/issues/245>`_:
    re2c output is not atomic

- Authored research paper "Efficient POSIX Submatch Extraction on NFA"
  together with Dr Angelo Borsotti.

- Added experimental libre2c library (``--enable-libs`` configure option) with
  the following algorithms:

  + TDFA with leftmost-greedy disambiguation
  + TDFA with POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with leftmost-greedy disambiguation
  + TNFA with POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm)
  + TNFA with POSIX disambiguation (Kuklewicz algorithm)
  + TNFA with POSIX disambiguation (Cox algorithm)

- Added debug subsystem (``--enable-debug`` configure option) and new debug
  options:

  + ``-dump-cfg`` (dump control flow graph of tag variables)
  + ``-dump-interf`` (dump interference table of tag variables)
  + ``-dump-closure-stats`` (dump epsilon-closure statistics)

- Added internal options:

  + ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms
    used for the construction of POSIX closure)

- Fixed a number of crashes found by American Fuzzy Lop fuzzer:

  + `#226 <https://github.com/skvadrik/re2c/issues/226>`_,
    `#227 <https://github.com/skvadrik/re2c/issues/227>`_,
    `#228 <https://github.com/skvadrik/re2c/issues/228>`_,
    `#231 <https://github.com/skvadrik/re2c/issues/231>`_,
    `#232 <https://github.com/skvadrik/re2c/issues/232>`_,
    `#233 <https://github.com/skvadrik/re2c/issues/233>`_,
    `#234 <https://github.com/skvadrik/re2c/issues/234>`_,
    `#238 <https://github.com/skvadrik/re2c/issues/238>`_

- Fixed handling of newlines:

  + correctly parse multi-character newlines CR LF in ``#line`` directives
  + consistently convert all newlines in the generated file to Unix-style LF

- Changed default tarball format from .gz to .xz.

  + `#221 <https://github.com/skvadrik/re2c/issues/221>`_:
    big source tarball

- Fixed a number of other bugs and resolved issues:

  + `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort
  + `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault
  + `#10 <https://github.com/skvadrik/re2c/issues/10>`_:
    lessons/002_upn_calculator/calc_002 doesn't produce a useful example program
  + `#44 <https://github.com/skvadrik/re2c/issues/44>`_:
    Access violation when translating the attached file
  + `#49 <https://github.com/skvadrik/re2c/issues/49>`_:
    wildcard state \000 rules makes lexer behave weard
  + `#98 <https://github.com/skvadrik/re2c/issues/98>`_:
    Transparent handling of #line directives in input files
  + `#104 <https://github.com/skvadrik/re2c/issues/104>`_:
    Improve const-correctness
  + `#105 <https://github.com/skvadrik/re2c/issues/105>`_:
    Conversion of pointer parameters into references
  + `#114 <https://github.com/skvadrik/re2c/issues/114>`_:
    Possibility of fixing bug 2535084
  + `#120 <https://github.com/skvadrik/re2c/issues/120>`_:
    condition consisting of default rule only is ignored
  + `#167 <https://github.com/skvadrik/re2c/issues/167>`_:
    Add word boundary support
  + `#168 <https://github.com/skvadrik/re2c/issues/168>`_:
    Wikipedia's article on re2c
  + `#180 <https://github.com/skvadrik/re2c/issues/180>`_:
    Comment syntax?
  + `#182 <https://github.com/skvadrik/re2c/issues/182>`_:
    yych being set by YYPEEK () and then not used
  + `#196 <https://github.com/skvadrik/re2c/issues/196>`_:
    Implicit type conversion warnings
  + `#198 <https://github.com/skvadrik/re2c/issues/198>`_:
    no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’
  + `#210 <https://github.com/skvadrik/re2c/issues/210>`_:
    How to build re2c in windows?
  + `#215 <https://github.com/skvadrik/re2c/issues/215>`_:
    A memory read overrun issue in s_to_n32_unsafe.cc
  + `#220 <https://github.com/skvadrik/re2c/issues/220>`_:
    src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug
  + `#223 <https://github.com/skvadrik/re2c/issues/223>`_:
    Fix typo
  + `#224 <https://github.com/skvadrik/re2c/issues/224>`_:
    src/dfa/closure_posix.cc: pack() tweaks
  + `#225 <https://github.com/skvadrik/re2c/issues/225>`_:
    Documentation link is broken in libre2c/README
  + `#230 <https://github.com/skvadrik/re2c/issues/230>`_:
    Changes for upcoming Travis' infra migration
  + `#239 <https://github.com/skvadrik/re2c/issues/239>`_:
    Push model example has wrong re2c invocation, breaks guide
  + `#241 <https://github.com/skvadrik/re2c/issues/241>`_:
    Guidance on how to use re2c for full-duplex command & response protocol
  + `#243 <https://github.com/skvadrik/re2c/issues/243>`_:
    A code generated for period (.) requires 4 bytes
  + `#246 <https://github.com/skvadrik/re2c/issues/246>`_:
    Please add a license to this repo
  + `#247 <https://github.com/skvadrik/re2c/issues/247>`_:
    Build failure on current Cygwin, probably caused by force-fed c++98 mode
  + `#248 <https://github.com/skvadrik/re2c/issues/248>`_:
    distcheck still looks for README
  + `#251 <https://github.com/skvadrik/re2c/issues/251>`_:
    Including what you use is find, but not without inclusion guards

- Updated documentation and website.
jperkin pushed a commit that referenced this issue Nov 24, 2020
This release addresses the following:

    New Features:
        Add support for infostore in EnvIsSet Test case #240 (ThomasAdam)
        Add variable/parameter which indicates the state of the FVWM3 logging #239 (NsCDE)
        Support for setting default mouse cursor on all FvwmScript widgets #222 (NsCDE)
        Add support for triangle indicator in/out sub options #221 (NsCDE)
        Add WindowName option to FvwmButtons #219 (NsCDE)

    Build problems:
        compilation fails on openbsd-current due to safemalloc.h (va_list) #231
        "version of go" misinterpreted by configure script? #202
        Unable to build 1.0, bson.h not found [FreeBSD 12.1] #200

    Bug-fixes:
        _NET_WM_STATE was not updated for maximized windows #203
        EwmhBaseStruts calculations don't use monitor's #241
        DesktopConfiguration global inherits behaviour from per-monitor mode #236
        FvwmEvent: missing monitor\_focus event #228
        perllib: doesn't understand MX_MONITOR_* events #226
        FvwmButtons subpanels not popped out on primary monitor when desk is > 0 #224
        PositionPlacement Center: fix to use current screen #211
        EwmhBaseStruts missing screen info from manpage #208
        EwmhBaseStrut: fix calculations for per-monitor #242 (ThomasAdam)
        Fix window locations in Global mode #237 (ThomasAdam)
jperkin pushed a commit that referenced this issue Jan 2, 2021
Changelog:
1.75.0
New Libraries

  * JSON: JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and
    Krystian Stasiowski.
      + Fast compilation requiring only C++11
      + Easy and safe modern API with allocator support
      + Compile without Boost, define BOOST_JSON_STANDALONE
      + Optional header-only, without linking to a library
  * LEAF: A lightweight error-handling library for C++11, from Emil Dotchevski.
      + Small single-header format, no dependencies.
      + Designed for maximum efficiency ("happy" path and "sad" path).
      + No dynamic memory allocations, even with heavy payloads.
      + O(1) transport of arbitrary error types (independent of call stack
        depth).
      + Can be used with or without exception handling.
  * PFR: Basic reflection without macro or boilerplate code for user defined
    types, from Antony Polukhin.

Updated Libraries

  * Asio:
      + Enabled support for UNIX domain sockets on Windows.
      + Added executor-converting construction and assignment to ip::
        basic_resolver.
      + Added compatibility between polymorphic executors and the (deprecated)
        handler invocation hook.
      + Added the experimental::as_single completion token adapter.
      + Added support for MSG_NOSIGNAL on more platforms by using
        _POSIX_VERSION to detect whether it is supported.
      + Added the ability to compile using libpthread on Windows.
      + Added workarounds for the Intel C++ compiler.
      + Added more support for detecting and optimising for handlers that have
        no custom executor.
      + Reduced lock contention for timer cancellation on Windows.
      + Reinstated a previously removed null-pointer check, as it had a
        measurable impact on performance.
      + Fixed the executor concept to test for a const-qualified execute().
      + Fixed any_executor support for builds without RTTI support.
      + Fixed the thread_pool unit test to work without RTTI support.
      + Fixed C++20 coroutines compatibility with clang on Windows.
      + Fixed some compatibility issues with Windows Runtime.
      + Fixed shadow name warnings caused by addition of asio::query.
      + Fixed a "logical ‘or’ of equal expressions" warning on linux.
      + Fixed a benign switch fallthrough warning.
      + Added missing push/pop_options.hpp includes.
      + Suppressed zero-as-null-pointer-constant warnings.
      + Fixed a comma-operator warning.
      + Updated the documentation to clarify when the select reactor is used on
        Windows.
      + Fixed potential ambiguity caused by any_executor comparisons and
        conversion.
      + Added detection of non-experimental C++20 coroutines on MSVC 19.8.
      + Fixed compatibility with uClibc.
      + Fixed strand<> adaptation of Networking TS executors when targeting
        older C++ versions or less conformant compilers.
      + Consult the Revision History for further details.
  * Atomic:
      + Implemented SSE2 and SSE4.1 versions of address lookup algorithm, which
        is used in the internal lock pool implementation. This may improve
        performance of waiting and notifying operations in heavily contended
        cases.
      + Fixed a possible compilation error on AArch64 targets caused by
        incorrect instructions generated for bitwise (logical) operations with
        immediate constants. (#41)
  * Beast:
      + This update brings bug fixes and support for the
        BOOST_ASIO_ENBALE_HANDLER_TRACKING compile flag from Boost.Asio:
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Container:
      + New devector container.
      + Fixed bugs/issues:
          o #152 Tree-based containers have troubles with move-only types.
          o #156 Compile error with vector.
          o PR#157 Add missing include.
          o #159: pmr::monotonic_buffer_resource crashes on large single
            allocations.
          o #160: Usage of uses_allocator needs a remove_cvref_t.
          o #162: small_vector on MSVC x86 call-by-value crash.
          o #161: polymorphic_allocator(memory_resource*) non-standard
            extension causes headache.
          o PR#163: container_rebind for small_vector with options.
          o #165: Link error with shared library and memory_resource inline
            members.
          o PR#166: Fix encoding error in copyright headers.
          o PR#167: error: the address of 'msg' will always evaluate as 'true'
            warning with GCC 4.4.
          o #169: flood of warnings building dlmalloc_ext_2_8_6.c on clang11.
  * Endian:
      + endian_arithmetic no longer inherits from endian_buffer
      + When BOOST_ENDIAN_NO_CTORS is defined, the unaligned endian_buffer and
        endian_arithmetic are C++03 PODs, to enable use of __attribute__((
        packed))
  * Filesystem:
      + New: Added creation_time operation, which allows to obtain file
        creation time. (Inspired by PR#134)
      + The returned value of last_write_time(p, ec) operation in case of
        failure has been changed to a minimal value representable by std::
        time_t instead of -1.
      + The returned value of hard_link_count(p, ec) operation in case of
        failure has been changed to static_cast<uintmax_t>(-1) instead of 0.
      + On POSIX systems, file_size will now indicate error code errc::
        function_not_supported if the path resolves to a non-regular file.
        Previously, errc::operation_not_permitted was reported.
      + On Linux, many operations now use statx system call internally, when
        possible, which allows to reduce the amount of information queried from
        the filesystem and potentially improve performance. The statx system
        call was introduced in Linux kernel 4.11.
      + Removed const-qualification from return types of some path methods.
        This could prevent move construction and move assignment at the call
        site in some cases. (#160)
      + On OpenBSD 4.4 and newer, use statvfs system call to obtain filesystem
        space information. (Inspired by PR#162)
      + On Windows, space now returns with an error if the provided path does
        not idendify an existing file. (#167)
  * GIL:
      + BREAKING: In next release, we are going to drop support for GCC 5. We
        may also change the required minimum C++ version from C++11 to C++14.
  * Histogram:
      + This update brings
          o Bug-fixes for corner-cases
          o Small documentation improvements
          o Fixes for new warnings from latest compilers and when compiling
            against the C++20 standard
      + See the full Release Notes for a complete list of changes.
  * Interprocess:
      + Fixed bugs:
          o #127: static assertion failure with boost interprocess 1.74 and
            basic_managed_shared_memory.
  * Intrusive:
      + Fixed bugs:
          o PR#48: MSVC "assignment within conditional" warning fix.
          o PR#49: Fix empty control statement warnings.
          o #52: Invalid casting in BOOST_INTRUSIVE_BSR_INTRINSIC.
  * Log:
      + Bug fixes:
          o Corrected the file counter that would be used in text_file_backend
            when generating the target file name (based on the pattern set by
            set_target_file_name_pattern method) when the log file is rotated.
            (#125)
          o Replaced a volatile version counter in basic_sink_frontend with an
            atomic. (#128)
          o In the asynchronous_sink frontend, resolved a possible conflict
            between flush and run methods, if run is called from a user's
            thread instead of the internal dedicated thread spawned by the
            frontend. (#131)
      + See changelog for more details.
  * Move:
      + Fixed bugs:
          o #30: (void) C-cast is a non-portable way of suppressing compiler
            warnings.
  * Mp11:
      + Added mp_pairwise_fold (suggested by Barry Revzin)
      + Removed mp_invoke (use mp_invoke_q)
  * Optional:
      + boost::none is constexpr-declared.
      + Fixed issue #78.
  * Outcome:
      + Announcements:
          o After a year and three major Boost releases announcing this
            upcoming change, this is the FINAL RELEASE of the v2.1 branch. From
            Boost 1.76 onwards, the v2.2 branch becomes the default. This
            branch has a number of major breaking changes to Outcome v2.1, see
            the documentation for details.
      + Enhancements:
          o The ADL discovered event hooks have been replaced with
            policy-specified event hooks instead. This is due to brittleness
            (where hooks would quietly self-disable if somebody changed
            something), compiler bugs (a difference in compiler settings causes
            the wrong hooks, or some but not all hooks, to get discovered), and
            end user difficulty in using them at all. The policy-specified
            event hooks can be told to default to ADL discovered hooks for
            backwards compatibility: set OUTCOME_ENABLE_LEGACY_SUPPORT_FOR to
            less than 220 to enable emulation.
          o Improve configuring OUTCOME_GCC6_CONCEPT_BOOL. Older GCCs had
            boolean based concepts syntax, whereas newer GCCs are standards
            conforming. However the precise logic of when to use legacy and
            conforming syntax was not well understood, which caused Outcome to
            fail to compile depending on what options you pass to GCC. The new
            logic always uses the legacy syntax if on GCC 8 or older, otherwise
            we use conforming syntax if and only if GCC is in C++ 20 mode or
            later. This hopefully will resolve the corner case build failures
            on GCC.
      + Bug fixes:
          o Boost.Outcome should now compile with BOOST_NO_EXCEPTIONS defined.
            Thanks to Emil, maintainer of Boost.Exception, making a change for
            me, Boost.Outcome should now compile with C++ exceptions globally
            disabled. You won't be able to use boost::exception_ptr as it can't
            be included if C++ exceptions are globally disabled.
          o #236 In the Coroutine support the final_suspend() was not noexcept,
            despite being required to be so in the C++ 20 standard. This has
            been fixed, but only if your compiler implements noop_coroutine.
            Additionally, if noop_coroutine is available, we use the much more
            efficient coroutine handle returning variant of await_suspend()
            which should significantly improve codegen and context switching
            performance.
  * Polygon:
      + C++20 fixes for event_comparison_type, vertex_equality_predicate_type,
        and voronoi_predicates. (Glen Fernandes)
  * Preprocessor:
      + When variadic data is empty in C++20 mode with __VA_OPT__ support the
        variadic size has been corrected to be 0. This also means that in this
        C++20 mode it is now valid to convert to and from empty arrays and
        lists and variadic data. The end-user can read the "C++20 Support For
        Variadic Macros" part of the "variadic macros" topic for more
        information about empty variadic data in the library.
      + The macro BOOST_PP_IS_STANDARD() has been added for identifying if the
        currently used preprocessor is a C++ standard conforming preprocessor.
        A number of preprocessors which generally work correctly with the
        library but need various internal workarounds, including the currently
        default VC++ preprocessor, are not considered C++ standard conforming
        preprocessors. However most preprocessors, including among others gcc,
        clang, and the new but currently non-default VC++ preprocessor in
        VS2019, are C++ standard conforming preprocessors.
      + For C++ standard conforming preprocessors a number of the limits
        defined in the config/limits.hpp can now be changed to higher amounts
        for a TU. The end-user should read the "limitations" topic to
        understand how and which limits can be changed.
      + For C++ standard conforming preprocessors, in order to allow the
        maximum number of FOR and WHILE iterations, the beginning 'r' and 'd'
        iteration numbers in the user-defined macros start at 1 and not 2, as
        it did in previous releases. This could be a breaking change if these
        iteration numbers are used in the user-defined macros ( they probably
        would not be ), but the change was necessary to fix some arcane bugs
        when dealing with numerical/logical operations with maximum numbers as
        well to allow the user-defined macros to be called the correct possible
        maximum number of times. For non-C++ conforming preprocessors, this
        change was not made because those non-conforming C++ preprocessors
        generally have limitations which disallow the maximum number of looping
        constructs to be run, and it was felt not to introduce a possible
        breaking change to those more fragile preprocessors would be better. It
        was also felt that besides fixing some arcane preprocessor bugs and
        providing the possible maximum number of user-defined macro
        invocations, this change could be made because it has never been
        documented what the starting 'r' and 'd' iteration numbers actually are
        but only that these numbers are incremented for each iteration.
      + The library has been upgraded to assume variadic macro support for any
        compiler working with the library. Ostensibly this means that the
        library is now a C++11 on up library, yet most of the major compilers,
        including gcc, clang, and VC++, also support variadic macros in C++98/
        C++03 mode as long as strict compliance to C++98/C++03 is not turned on
        when using one of those compilers.
  * Rational:
      + Fix Rational operators to not break under new C++20 operator==
        rewriting rules. (Glen Fernandes)
  * Signals2:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes)
  * System:
      + The platform-specific headers windows_error.hpp, linux_error.hpp, and
        cygwin_error.hpp emit deprecation messages and are slated for removal.
      + The old names for generic_category() and system_category() emit
        deprecation messages and are slated for removal.
      + error_condition::failed is deprecated and is slated for removal.
        operator bool() for error_condition has been reverted to its old
        meaning of value() != 0. This is done for compatibility with std::
        error_condition as the next release is expected to improve
        interoperability with <system_error> even further. Note that this does
        not affect error_code::failed, which is still alive and well.
      + The overload of error_condition::message that takes a buffer is
        deprecated and is slated for removal, for the same reasons. Note that
        this does not affect error_code::message.
  * uBLAS:
      + Correct C++ allocator model support to fix compilation in C++20
        standards mode. (Glen Fernandes and Conrad Poelman)
  * VMD:
      + The VMD number parsing has been upgraded to support the ability for the
        end-user to change the number limits in the Preprocessor library.
      + The macro BOOST_VMD_IS_GENERAL_IDENTIFIER has been added to support the
        parsing of input that represents a preprocessor token which matches the
        VMD identifier syntax, without having to register the identifier as a
        specific identifier.
  * Wave:
      + Added new C++20 tokens, including the spaceship operator <=>
      + Fixed bugs:
          o #94: fix incorrect behavior of __LINE__ and __FILE__ under
            rescanning

1.74.0
New Libraries

  * STLInterfaces: A library of CRTP bases to ease the writing of STL views,
    iterators, and sequence containers, from Zach Laine.

Updated Libraries

  * Asio:
      + Added an implementation of the proposed standard executors (P0443r13,
        P1348r0, and P1393r0).
      + Added support for the proposed standard executors to Asio's I/O
        facilities.
          o The supplied executors now meet the requirements for the proposed
            standard executors. These classes also continue to meet the
            existing requirements for the Networking TS model of executors.
          o All I/O objects, asynchronous operations, and utilities will
            interoperate with both new proposed standard executors, and with
            existing Networking TS executors.
          o The any_io_executor type alias has been introduced as the default
            runtime-polymorphic executor for all I/O objects. This defaults to
            the execution::any_executor<> template. If required for backward
            compatibility, BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT can be defined
            to use the old asio::executor polymorphic wrapper instead.
          o Support for the existing Networking TS model of executors can be
            disabled by defining BOOST_ASIO_NO_TS_EXECUTORS.
      + Added converting move construction and assignment to
        basic_waitable_timer.
      + Enabled C++20 coroutine support when using gcc 10.
      + Added overloads of co_spawn that launch an awaitable.
      + Added a new constructor overload to use_awaitable_t's default executor
        adapter, to enable conversion between executor types.
      + Added support for using detached_t as a default completion token, by
        adding members as_default_on() and as_default_on_t<>.
      + Added a move constructor to ssl::stream<>.
      + Changed ssl::stream<> write operations to linearise gather-write buffer
        sequences.
      + Added compile-time detection of the deprecated asio_handler_invoke,
        asio_handler_allocate, and asio_handler_deallocate hooks, when
        BOOST_ASIO_NO_DEPRECATED is defined.
      + Implemented a number of performance optimisations.
      + Added source location support to handler tracking.
      + Implemented various improvements to the handlerviz.pl tool.
      + Added the handlerlive.pl tool, which processes handler tracking output
        to produce a list of "live" handlers.
      + Added the handlertree.pl tool, which filters handler tracking output to
        include only those events in the tree that produced the nominated
        handlers.
      + Added changes for clang-based Embarcadero C++ compilers.
      + Fixed a deadlock that can occur when multiple threads concurrently
        initialise the Windows I/O completion port backend.
      + Fixed async_compose to work with copyable handlers when passed by
        lvalue.
      + Fixed completion signature deduction in co_spawn.
      + Removed a spurious Executor base class from the executor_binder
        implementation.
      + Various fixes and improvements in the documentation and examples.
      + Consult the Revision History for further details.
  * Atomic:
      + Added missing const qualifiers to some operations in atomic_ref.
      + Added support for yield instruction on ARMv8-A. The instruction is used
        internally in spin loops to reduce CPU power consumption.
      + Added support for C++20 waiting and notifying operations. The
        implementation includes generic backend that involves the internal lock
        pool, as well as specialized backends for Windows, Linux, FreeBSD,
        DragonFly BSD and NetBSD. Atomic types provide a new method
        has_native_wait_notify, a static boolean constant
        always_has_native_wait_notify and a set of capability macros that allow
        to detect if the implementation supports native waiting and notifying
        operations for a given type.
      + Changed internal representation of atomic_flag to use 32-bit storage.
        This allows for more efficient waiting and notifying operations on
        atomic_flag on some platforms.
      + Added support for build-time configuration of the internal lock pool
        size. The user can define the BOOST_ATOMIC_LOCK_POOL_SIZE_LOG2 macro to
        specify binary logarithm of the size of the lock pool. The default
        value is 8, meaning that the size of the lock pool is 256, up from 64
        used in the previous release.
      + Added support for a new set of atomic types dedicated for inter-process
        communication: ipc_atomic_flag, ipc_atomic and ipc_atomic_ref. Users
        are recommended to port their code using non-IPC types for
        inter-process communication to the new types. The new types provide the
        same set of operations as their non-IPC counterparts, with the
        following differences:
          o Most operations have an added precondition that is_lock_free
            returns true for the given atomic object. The library will issue a
            compile time error if this precondition is known to be not
            satisfied at compile time.
          o All provided operations are address-free, meaning that the atomic
            object (in case of ipc_atomic_ref - the referenced object) may be
            located in process-shared memory or mapped into the same process at
            multiple different addresses.
          o The new has_native_wait_notify operation and
            always_has_native_wait_notify constant indicate support for native
            inter-process waiting and notifying operations. When that support
            is not present, the operations are implemented with a busy loop,
            which is less efficient, but still is address-free. A separate set
            of capability macros is also provided to indicate this support.
      + Added new atomic_unsigned_lock_free and atomic_signed_lock_free types
        introduced in C++20. The types indicate the atomic object type for an
        unsigned or signed integer, respectively, that is lock-free and
        preferably has native support for waiting and notifying operations.
      + Added new gcc assembler backends for ARMv8-A (for both AArch32 and
        AArch64). The new backends are used to implement operations not
        supported by compiler intrinsics (including 128-bit operations on
        AArch64) and can also be used when compiler intrinsics are not
        available. Both little and big endian targets are supported. AArch64
        backend supports extensions defined in ARMv8.1 and ARMv8.3.
      + Added support for big endian targets in the legacy ARM backend based on
        gcc assembler blocks (this backend is used on ARMv7 and older targets).
        Previously, the backend assumed little endian memory layout, which is
        significant for 64-bit operations.
      + Improved performance of seq_cst stores and thread fences on x86 by
        using lock-prefixed instructions instead of mfence. This means that the
        operations no longer affect non-temporal stores, which was also not
        guaranteed before. Use specialized instructions and intrinsics to order
        non-temporal memory accesses.
      + Fixed capability macros for 80-bit long double on x86 targets not
        indicating lock-free operations even if 128-bit atomic operations were
        available.
      + Fixed compilation of gcc asm blocks on Alpha targets.
      + In the gcc __sync* intrinsics backend, fixed that store and load
        operations of large objects (larger than a pointer size) could be
        non-atomic. The implementation currently assumes that small objects can
        be stored with a single instruction atomically on all modern
        architectures.
  * Beast:
      + This update brings bug fixes and support for the following changes
        changes in Boost.Asio:
      + Beast supports BOOST_ASIO_NO_DEPRECATED. Define this to help identify
        areas of your Beast and Asio code which use deprecated Asio interfaces.
      + Beast also supports BOOST_ASIO_NO_TS_EXECUTORS. Define this to identify
        uses of executors from the now potentially outdated Networking TS
      + Asio will use the Standard Executors model by default. You can prevent
        this behaviour by defining BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT in
        which the Networking TS model will be used by default. Setting this
        flag does not prevent a program from using executors from the Standard
        Executors model explicitly.
      + We'd love to know how you or your company use Beast, consider adding an
        entry to the Companies and Individuals Using Beast list.
      + See the full Release Notes for a complete list of changes.
  * Bimap:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Config:
      + Implement BOOST_NO_CXX11_OVERRIDE and BOOST_OVERRIDE. (Glen Fernandes)
  * Core:
      + Implemented the allocator access utilities which provide a replacement
        for allocator_traits with individual traits and functions for each
        facility. They support the C++11 allocator model when possible and
        provide a fallback for C++98 compatibility. These are now used in
        Circular_Buffer, Wave, Lockfree, Heap, Smart_Ptr, Dynamic_Bitset,
        Format, Bimap and more. (Glen Fernandes)
  * DLL:
      + Multiple fixes for the library_info work on empty shared objects.
      + Compilation fixes for C++98 and C++11 modes (#28).
      + Fixes for smart_library manglings (thanks to XiaLiChao82 #37).
  * Endian:
      + Enabled scoped enumeration types in endian_reverse.
      + Enabled bool, enum, float, double in endian_reverse_inplace.
      + Added an overload of endian_reverse_inplace for arrays.
  * Filesystem:
      + Removed compile-time checks for support for symlinks and hardlink on
        Windows. Instead, a runtime check is used. (PR#142)
      + Fixed handling of reparse points in canonical and read_symlink on
        Windows. This also affects other algorithms that involve canonical and
        read_symlink in their implementation. (PR#100, #85, #99, #123, #125)
      + Fixed that read_symlink on Windows could potentially fail or cause
        failures elsewhere with a sharing violation error, if the same symlink
        was opened concurrently. (#138)
      + Fixed that is_symlink(directory_entry) would always return false, even
        if the directory entry actually referred to a symlink. (PR#148)
      + Added missing status inspection operation overloads for directory_entry
        and error_code (e.g. is_directory(directory_entry, error_code&)).
        Removed incorrect noexcept specifications for the overloads not taking
        the error_code arguments.
      + copy_file implementation has been updated to perform checks on the
        source and target files, as required by C++20 ([fs.op.copy.file]/4.1).
        In particular, the operation will fail if the source or target file is
        not a regular file or the source and target paths identify the same
        file.
      + copy_file on POSIX systems will now also copy the source file
        permissions to the target file, if the target file is overwritten.
      + New: Added copy_file implementations based on sendfile and
        copy_file_range system calls on Linux, which may improve file copying
        performance, especially on network filesystems.
      + Deprecated: The copy_option enumeration that is used with the copy_file
        operation is deprecated. As a replacement, the new enum copy_options
        (note the trailing 's') has been added. The new enum contains values
        similar to the copy_options enum from C++20. The old enum values are
        mapped onto the new enum. The old enum will be removed in a future
        release.
      + New: Added copy_options::skip_existing option, which allows copy_file
        operation to succeed without overwriting the target file, if it exists.
      + New: Added copy_options::update_existing option, which allows copy_file
        operation to conditionally overwrite the target file, if it exists, if
        its last write time is older than that of the replacement file.
      + New: copy_file now returns bool, which indicates whether the file was
        copied.
      + New, breaking change: copy operation has been extended and reworked to
        implement behavior specified in C++20 [fs.op.copy]. This includes
        support for copy_options::recursive, copy_options::copy_symlinks,
        copy_options::skip_symlinks, copy_options::directories_only,
        copy_options::create_symlinks and copy_options::create_hard_links
        options. The operation performs additional checks based on the
        specified options. Applying copy to a directory with default
        copy_options will now also copy files residing in that directory (but
        not nested directories or files in those directories).
      + New: Added create_directory overload taking two paths. The second path
        is a path to an existing directory, which is used as a source of
        permission attributes to use in the directory to create.
      + Deprecated: copy_directory operation has been deprecated in favor of
        the new create_directory overload. Note that the two operations have
        reversed order of the path arguments.
      + equivalent on POSIX systems now returns the actual error code from the
        OS if one of the paths does not resolve to a file. Previously the
        function would return an error code of 1. (#141)
      + equivalent no longer considers file size and last modification time in
        order to test whether the two paths refer to the same file. These
        checks could result in a false negative if the file was modified during
        the equivalent call.
      + New: Added absolute overloads taking error_code argument.
      + Operations that have current_path() as the default value of their
        arguments and also have an error_code argument will use the
        current_path(error_code& ec) overload to obtain the current path, so
        that its failure is reported via the error_code argument instead of an
        exception.
      + space now initializes the space_info structure members to -1 values on
        error, as required by C++20 ([fs.op.space]/1).
      + space on Windows now accepts paths referring to arbitrary files, not
        only directories. This is similar to POSIX systems and corresponds to
        the operation description in C++20. (#73)
      + New: Added implementation of temp_directory_path for Windows CE. (PR#25
        )
      + New: Improved compatibility with WASI platform. (PR#144)
      + New: Improved support for Embarcadero compilers. (PR#130)
      + New: Added implementations of unique_path operation based on getrandom
        (Linux), arc4random_buf (OpenBSD/FreeBSD/CloudABI) and BCrypt (Windows)
        system APIs.
      + Deprecated: Auto-linking against system libraries on Windows with
        MSVC-compatible compilers is deprecated and will be removed in a future
        release. This affects users linking against static library of
        Boost.Filesystem. Users are advised to update their project build
        systems to either use a shared library of Boost.Filesystem, or
        explicitly specify the dependencies of Boost.Filesystem in the linker
        command line. Users of shared library of Boost.Filesystem are not
        affected.
  * Flyweight:
      + Maintenance work.
  * Format:
      + Correct allocator usage (fixes C++20 compilation). (Glen Fernandes)
  * Geometry:
      + Improvements
          o PR#720 Additional R-tree constructors (thanks to Caian Benedicto).
          o Various improvements in buffer, set and relational operations.
      + Solved issues
          o #709 memcpy called for object with no trivial copy-assignment.
          o #721 Compilation error in bgi::detail::rtree::visitors::insert.
          o #727 MSVC warning: conditional expression is constant.
      + Bugfixes
          o PR#700 Missing cases for default strategies in distance algorithm.
          o PR#738 Longitudes out of range in direct geodesic formulas.
  * GIL:
      + Added
          o Added new constructor initializing any_image from r-value reference
            to any image (PR#486).
          o Implemented mechanism to reverse kernel_2d (PR#489).
      + Changed
          o BREAKING: Replace Boost.Variant with Boost.Variant2 (PR#474) which
            completes removal on uses of Boost.MPL (missing from Boost 1.72.0
            change added PR#274).
          o Use perfect forwarding from apply_operation to visit (PR#491).
      + Removed
          o BREAKING: Removed dependency on Boost.Variant
      + Fixed
          o Fixed invalid conversion from RGB8 to CMYK32 due to overflow (PR#
            470).
          o Fixed image constructor from other image (PR#477).
          o Fixed error plane_view_t is not a class or namespace name (PR#481).
          o Fixed interleaved_view factory using point<std::ptrdiff_t> for
            dimension (PR#487).
          o Fixed documentation replacing uses MPL with MP11 in tutorial (PR#
            494).
          o Fixed missing header in numeric/kernel.hpp to make it
            self-contained (PR#502).
      + Acknowledgements
          o Samuel Debionne, Pranam Lashkari, Mateusz Loskot, Debabrata Mandal
  * Heap:
      + Correct destruction of top node in skew_heap. (Glen Fernandes)
      + Correct and simplify allocator use. (Glen Fernandes)
  * Integer:
      + Fixed compilation of gcd in C++20 mode with clang 10.
      + Improved support for Embarcadero compilers. (PR#21)
  * Iterator:
      + boost/function_output_iterator.hpp header is now deprecated. Users
        should replace its inclusion with boost/iterator/
        function_output_iterator.hpp. (PR#51)
      + Improved support for Embarcadero compilers. (PR#55)
  * LexicalCast:
      + Fixed warnings on missing override (thanks to EugeneZelenko #35, #34).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener).
  * Log:
      + Bug fixes:
          o The syslog sink backend now verifies the IP version of the local
            and target addresses set by user. The addresses must have the same
            IP version as was specified in the ip_version named parameter on
            the sink backend construction (by default, IPv4 is assumed). When
            an address is obtained as a result of host name resolution, only
            addresses with matching IP version are considered. (#119)
      + New Features:
          o Move constructors and assignment operators of various components
            were marked noexcept.
          o Added a new range_manip stream manipulator that can be used for
            outputting elements of a range, optionally separated by a
            delimiter.
          o Added a new tuple_manip stream manipulator that can be used for
            outputting elements of a tuple or any other heterogeneous sequence,
            optionally separated by a delimiter.
          o Added a new optional_manip stream manipulator that can be used for
            outputting optionally present values.
      + See changelog for more details.
  * Mp11:
      + Improved compilation performance of mp_with_index<N> for large N.
      + Added tuple_transform (contributed by Hans Dembinski.)
  * Multi-index Containers:
      + Added node extraction and insertion following the analogous interface
        of associative containers as introduced in C++17. This feature has also
        been extended to non key-based indices, in contrast to C++ standard
        library sequence containers, which do not provide such functionality.
      + Clarified documentation on read/write key extractors (issue #32).
      + Maintenance work.
  * Nowide:
      + The library now requires a C++11-compliant compiler and stdlib
      + LFS: Add support for files > 2 GB where the underlying system supports
        it
      + Generic UTF conversion functions are now available in the boost::nowide
        ::utf namespace
      + Add support for stat with UTF-8 paths
  * Outcome:
      + Announcements:
          o The v2.1 branch is expected to be retired end of 2020, with the
            v2.2 branch becoming the default. You can use the future v2.2
            branch now using better_optimisation. This branch has a number of
            major breaking changes to Outcome v2.1, see the front page for
            details.
      + Enhancements:
          o BREAKING CHANGE void results and outcomes no longer default
            construct types during explicit construction. Previously if you
            explicitly constructed a result<T> from a non-errored result<void>,
            it default constructed T. This was found to cause unhelpful
            surprise, so it has been disabled.
          o New macro OUTCOME_ENABLE_LEGACY_SUPPORT_FOR. The macro
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR can be used to enable aliasing of
            older naming and features to newer naming and features when using a
            newer version of Outcome.
          o Concepts now have snake case style naming instead of camel case
            style. When Outcome was first implemented, it was thought that C++
            20 concepts were going to have camel case style. This was changed
            before the C++ 20 release, and Outcome's concepts have been renamed
            similarly. This won't break any code in Outcome v2.1, as
            compatibility aliases are provided. However code compiled against
            Outcome v2.2 will need to be upgraded, unless
            OUTCOME_ENABLE_LEGACY_SUPPORT_FOR is set to 210 or lower.
          o Concepts now live in OUTCOME_V2_NAMESPACE::concepts namespace.
            Previously concepts lived in the convert namespace, now they live
            in their own namespace.
          o New concepts basic_result<T> and basic_outcome<T> added. End users
            were finding an unhelpful gap in between is_basic_result<T> and
            value_or_error<T> where they wanted a concept that matched types
            which were basic_result, but not exactly one of those. Concepts
            filling that gap were added.
          o Operation TRY works differently from Outcome v2.2 onwards. This is
            a severely code breaking change which change the syntax of how one
            uses OUTCOME_TRY(). A regular expression suitable for upgrading
            code can be found in the list of changes between Outcome v2.1 and
            v2.2.
      + Bug fixes:
          o #224 The clang Apple ships in Xcode 11.4 (currently the latest) has
            not been patched with the fixes to LLVM clang that fix noexcept(std
            ::is_constructible<T, void>) failing to compile which I originally
            submitted years ago. So give up waiting on Apple to fix their
            clang, add a workaround to Outcome.
          o Spare storage could not be used from within no-value policy
            classes. Due to an obvious brain fart when writing the code at the
            time, the spare storage APIs had the wrong prototype which
            prevented them working from within policy classes. Sorry.
  * PolyCollection:
      + Fixed internal ambiguity problem between boost::type_erasure::any and
        boost::any (issue #17).
      + Maintenance work.
  * SmartPtr:
      + Added owner_equals to shared_ptr, weak_ptr, local_shared_ptr.
      + Added owner_hash_value to shared_ptr, weak_ptr.
      + Added owner_equal_to, owner_hash.
      + Added std::hash specializations for shared_ptr, local_shared_ptr.
      + Added boost::hash support to, and std::hash, std::equal_to
        specializations for, weak_ptr.
  * Stacktrace:
      + Fixed a build error when compiled with -fno-exceptions (thanks to
        Jeremiah Rodriguez #91).
  * System:
      + operator bool() now returns failed() instead of value() != 0.
  * Type_Traits:
      + Implemented conjunction, disjunction, negation, is_trivially_copyable,
        is_scoped_enum, and is_unscoped_enum. (Glen Fernandes)
  * Variant:
      + Fixed warnings on missing override (thanks to EugeneZelenko #78).
      + Fixes for the the Embarcadero compilers (thanks to Edward Diener #79).
      + Updated header locations to avoid warnings about using deprecated
        headers (thanks to Andrey Semashev #80)
  * Variant2:
      + Added support for derived types in visit.
      + Improved compilation performance for many (hundreds of) alternatives.
      + Added support for visit<R>.
  * Wave:
      + Implement C++20 features for variadics, including __VA_OPT__ (PR#75)
      + Implement __has_include (PR#102)
      + Introduce new sample: check_macro_naming, useful with Boost itself (PR#
        97)
      + Fix compilation issue caused by std::allocator member removal in C++20
        (PR#72)
      + Repair Xpressive lexer and token_statistics sample (PR#79)
      + Repair lexertl lexer (PR#78)
      + Ensure hooks are run on predefined macros as well (PR#87)
      + Various minor bug fixes
      + C++98/03 support is now deprecated and will be removed in 1.77
  * YAP:
      + Fixed compilation errors for placeholders; they now work in the general
        case, and in particular work with yap::print().
      + constexpr all the YAP.
      + Fix printing of correct value category in yap::print().
      + Doc clarification.

Updated Tools

  * Boostbook:
      + Change encoding of generated documentation from US-ASCII to UTF-8.
        (Glen Fernandes)
jperkin pushed a commit that referenced this issue Jan 2, 2021
See also:
 https://www.tidyverse.org/blog/2020/12/usethis-2-0-0/

# usethis 2.0.0

This version is anticipated to be released as usethis v2.0.0.

## Adoption of gert and changes to Git/GitHub credential handling

Usethis has various functions that help with Git-related tasks, which
break down into two categories:

1. Git tasks, such as clone, push, and pull. These are things you
   could do with command line Git.

1. GitHub tasks, such as fork, release, and open an issue or pull
   request. These are things you could do in the browser or with the
   GitHub API.

We've switched from git2r to the gert package for Git operations
(<https://docs.ropensci.org/gert/>). We continue to use the gh package
for GitHub API work (<https://gh.r-lib.org>).

The big news in this area is that these lower-level dependencies are
getting better at finding Git credentials, finding the same
credentials as command line Git (and, therefore, the same as RStudio),
and finding the same credentials as each other. This allows usethis to
shed some of the workarounds we have needed in the past, to serve as a
remedial "credential valet".

Under the hood, both gert and gh are now consulting your local Git
credential store, when they need credentials. At the time of writing,
they are using two different even-lower-level packages to do this:

* gert uses the credentials package (<https://docs.ropensci.org/credentials/>)
* gh uses the gitcreds package (<https://gitcreds.r-lib.org/>)

Even now, gert and gh should discover the same credentials, at least
for github.com. In the future, these two packages may merge into one.

Git/GitHub credential management is covered in a new article:

[Managing Git(Hub)
Credentials](https://usethis.r-lib.org/articles/articles/git-credentials.html)

The main user-facing changes in usethis are:

* usethis should discover and use the same credentials as command line Git.
* usethis should be able to work with any GitHub deployment. While
  github.com is the default, GitHub Enterprise deployments are fully
  supported. The target GitHub host is determined from the current
  project's configured GitHub remotes, whenever possible.

As a result, several functions are deprecated and several other
functions have some deprecated arguments.

* Deprecated functions:
  - `use_git_credentials()`
  - `git_credentials()`
  - `github_token()`
* Functions with (deprecated arguments):
  - `create_from_github()` (`auth_token`, `credentials`)
  - `use_github()` (`auth_token`, `credentials`)
  - `use_github_links()` (`host`, `auth_token`)
  - `use_github_labels()` (`repo_spec`, `host`, `auth_token`)
  - `use_tidy_labels()` (`repo_spec`, `host`, `auth_token`)
  - `use_github_release()` (`host`, `auth_token`)

The switch to gert + credentials should eliminate most
credential-finding fiascos. Gert also takes a different approach to
wrapping libgit2, the underlying C library that does Git
operations. The result is more consistent support for SSH and TLS,
across all operating systems, without requiring special effort at
install time. More users should enjoy Git remote operations that "just
work", for both SSH and HTTPS remotes. There should be fewer
"unsupported protocol" errors.

## GitHub remote configuration

Usethis gains a more formal framework for characterizing a GitHub
remote configuration. We look at:

  * Which GitHub repositories `origin` and `upstream` point to
  * Whether you can push to them
  * How they relate to each other, e.g. fork-parent relationship

This is an internal matter, but users will notice that usethis is more
clear about which configurations are supported by various functions
and which are not. The most common configurations are reviewed in a
[section of Happy
Git](https://happygitwithr.com/common-remote-setups.html).

When working in a fork, there is sometimes a question whether to
target the fork or its parent repository. For example,
`use_github_links()` adds GitHub links to the URL and BugReports
fields of DESCRIPTION. If someone calls `use_github_links()` when
working in a fork, they probably want those links to refer to the
*parent* or *source* repo, not to their fork, because the user is
probably preparing a pull request. Usethis should now have better
default behaviour in these situations and, in some cases, will present
an interactive choice.

## Default branch

There is increasing interest in making the name of a repo's default
branch configurable. Specifically, `main` is emerging as a popular
alternative to `master`. Usethis now discovers the current repo's
default branch and uses that everywhere that, previously, we had
hard-wired `master`.

`git_branch_default()` is a newly exported function that is also what's used internally.

`use_course()`, `use_zip()`, and `create_download_url()` all have some
support for forming the URL to download a `.zip` archive of a repo,
based on a repo specification (e.g. `OWNER/REPO`) or a browser
URL. These helpers now form a URL that targets `HEAD` of the repo,
i.e. the default branch.

## Changes to Git/GitHub functionality

The default Git protocol is now "https" and we no longer provide an
interactive choice, by default, in interactive sessions. As always, a
user can express a preference for "ssh" in individual function calls,
for an R session via `use_git_protocol()`, and for all R sessions via
the `usethis.protocol` option (#1262).

`pr_resume()` is a new function for resuming work on an existing local
PR branch. It can be called argument-less, to select a branch
interactively.

`pr_fetch()` can also be called with no arguments, to select a PR
interactively.  The `owner` argument is replaced by `target`, with a
choice of the source (default) or primary repo.

`pr_forget()` is a new function for abandoning a PR you initiated
locally or fetched from GitHub. It only does local clean up and, for
example, doesn't delete a remote branch or close a PR (#1263).

`pr_view()` can now be called with no arguments. If the current branch
is associated with an open PR, we target that and, otherwise, we offer
an interactive selection.

`pr_finish()` deletes the remote PR branch if the PR has been merged
and the current user has the power to do so, i.e. an external
contributor deleting their own branch or a maintainer deleting a
branch associated with an internal PR (#1150). It no longer errors if
the PR branch has already been deleted (#1196).

`pr_pull_upstream()` is renamed to `pr_merge_main()` to emphasize that
it merges the **main** line of development into the current branch,
where the main line of development is taken to mean the default
branch, as reported by `git_branch_default()`, of the source repo,
which could be either `upstream` or `origin`, depending on the
situation.

`create_from_github()` will only create a read-only clone, due to lack
of a GitHub personal access token, if explicitly directed to do so via
`fork = FALSE`.

`create_from_github()` and `use_tidy_thanks()` accept browser and Git
URLs as the `repo_spec` argument, to be friendlier to copy/paste. When
a URL is passed, the `host` is also extracted from it.

`create_github_token()` is a new name for the function previously
known as `browse_github_token()` and `browse_github_pat()`.

`issue_close_community()` and `issue_reprex_needed()` are two new
functions for maintainers who process lots of GitHub issues. They
automate canned replies and actions, e.g. labelling or closing (#940).

GitHub Actions is the preferred platform for continuous integration,
because that is what the tidyverse team currently uses and
maintains. Functions related to Travis-CI and AppVeyor are
soft-deprecated to raise awareness about this change and to make it
clear that, if substantial maintenance becomes necessary, we may elect
to retire the function (#1169).

`browse_github_actions()` is a new function to open the Actions page
of the respective repo on GitHub, similar to existing `browse_*()`
functions (@pat-s, #1102).

`use_github_pages()` is a new function to activate or reconfigure the
GitHub Pages site associated with a repository (#224).

`use_tidy_pkgdown()` implements the complete pkgdown configuration
used by the tidyverse team (#224).

`pr_sync()` is defunct and can be replicated by calling `pr_pull()`,
`pr_merge_main()`, then `pr_push()`.

## Licensing improvements

All `use_*_license()` functions now work for projects, not just
packages.

`use_apl2_license()` (not `use_apache_license()`) and
`use_gpl3_license()` no longer modify the license text (#1198).

`use_mit_license()` now sets the default copyright holder to
"{package} authors". This makes it more clear that the copyright
holders are the contributors to the package; unless you are using a
CLA there is no one copyright holder of a package (#1207).

New `use_gpl_license()` and `use_agpl_license()` make it easier to
pick specific versions of the GPL and AGPL licenses, and to choose
whether or not you include future versions of the license. Both
default to version 3 (and above).

New `use_proprietary_license()` allows your package to pass R CMD
check while making it clear that your code is not open source
(#1163). Thanks to @atheriel for the blog post suggesting the wording:
https://unconj.ca/blog/copyright-in-closed-source-r-packages-the-right-way.html

`use_lgpl_license()` now uses version 3 (and above), and gains new
`version` and `include_future` argument to control which version is
used.

`use_gpl3_license()`, `use_agpl3_license()` and `use_apl2_license()`
have been deprecated in favour of the new `version` argument to
`use_gpl_license()`, `use_agpl_license()` and `use_apache_license()`.

The `name` argument to `use_mit_license()` has been changed to
`copyright_holder` to make the purpose more clear. The `name` argument
has been removed from all other license functions because it is not
needed; no other license makes an assertion about who the copyright
holder is.

## RStudio preferences

usethis is now fully cognizant of the [changes to RStudio
preferences](https://blog.rstudio.com/2020/02/18/rstudio-1-3-preview-configuration/)
in RStudio 1.3:

`edit_rstudio_snippets()` looks in the new location, and if you have
snippets in the old location, will automatically copy them to the new
location (#1204)

New `edit_rstudio_prefs()` opens RStudio preferences file for editing
(#1148).

`use_blank_slate()` can now configure your global, i.e. user-level,
RStudio preference, in addition to project-level (#1018).

## Other changes

`browse_package()` and `browse_project()` are new functions that let
the user choose from a list of URLs derived from local Git remotes and
DESCRIPTION (local or possibly on CRAN) (#1113).

The legacy `"devtools.desc"` option is no longer consulted when
populating a new DESCRIPTION file. You must use the
`"usethis.description"` now (#1069).

`use_dev_package()` gains a `remote` parameter to allow you to specify
the remote. The existing behaviour, which adds an `OWNER/REPO` GitHub
remote, remains the default (#918, @ijlyttle).

`use_cpp11()` is a new function to set up an R package to use cpp11.

`create_package(roxygen = FALSE)` once again writes a valid NAMESPACE
file (and also has no Roxygen* fields in DESCRIPTION) (#1120).

`create_package()`, `create_project()`, `create_from_github()`, and
`proj_activate()` work better with relative paths, inside and outside
of RStudio (#1122, #954).

`use_testthat()` gains an edition argument to support testthat v3.0.0
  (#1185)

`use_version()` now updates `src/version.c` if it exists and contains
a line matching `PKG_version = "x.y.z";`.

usethis has been re-licensed as MIT (#1252, #1253).

## Dependency changes

New Imports: gert, jsonlite (was already an indirect dependency),
lifecycle, rappdirs

No longer in Imports: git2r, rematch2
jperkin pushed a commit that referenced this issue Jan 13, 2021
3.2.2 (2020-11-16)

* Remove copyright dates #225 (tas50)
* Cleanup deps and fix the failing spec helper loading of support files
  #226 (tas50)

v3.2.0 (2020-11-12)

* Windows: fetch env variables for specified users #224 (kapilchouhan99)

v3.1.7 (2020-10-29)

* Loosen win32-process dep to resolve Ruby 3 deprecation warnings #223
  (tas50)
@jperkin jperkin reopened this Jun 25, 2021
jperkin pushed a commit that referenced this issue Sep 6, 2021
# htmltools 0.5.2

## Breaking Changes

* Closed #205: When calling `tagGetAttribute(x)` on an object with a
  non-atomic attribute, a list of untouched values will be
  returned. It is still recommended to only store character values
  inside attributes. (#212)

## New Features & Improvements

* `{htmltools}` now has its own `{pkgdown}` site hosted at
  <https://rstudio.github.io/htmltools/>.

* The new `tagQuery()` function provides a
  [jQuery](https://jquery.com/) inspired interface to query and/or
  modify HTML `tag()` (e.g., `div()`) or `tagList()` objects. To learn
  more, see the [{pkgdown}
  article](https://rstudio.github.io/htmltools/articles/tagQuery.html). (#208)

* Added `tagAddRenderHook()` for delaying modification of a tag object
  until it is rendered. A list of render-time hooks may also be added
  via the new `.renderHook` argument added to all `tag()`
  functions. (#215)

* Closed #243: Added `withTags(.noWS)` to change the default
  whitespace behavior for all tags within the call to
  `withTags()`. (#245)

* Closed #251: Added `.cssSelector` parameters to tag modifying
  functions such as `tagAppendChildren()` or
  `tagAppendChildren()`. The `.cssSelector` allows you to target
  particular (inner) tags of interest. See `tagAppendChildren()` for
  examples. (#224)

* Closed #225: Added `tagInsertChildren()` to be able to insert child
  tag objects at a particular location. (#224)

## Bug Fixes

* When retrieving a tag attribute using `tagGetAttribute(tag, attr)`,
  `NA` values will be removed before combining remaining attribute
  values. If all attribute values are `NA`, then a single `NA` value
  will be returned. (#212)

* Closed #197: Fixed rendering of boolean attributes in `<script>`
  tags rendered via `renderDependencies()` (#197, thanks @atusy).

* Closed #222: Unnamed attributes are no longer allowed to be appended
  via `tagAppendAttribs()`. When trying to print unnamed tag attribs,
  a better error message is provided. (#229)
jperkin pushed a commit that referenced this issue Dec 18, 2021
Now uses release version for pkg-config file (same as cmake would do).

Changelog:
* Unicode 14 support ([#233]).
* Support GNUInstallDirs in CMake build ([#159]).
* cmake build now installs pkg-config file ([#224]).
* Various build and portability improvements.
jperkin pushed a commit that referenced this issue Jan 18, 2022
Changes since 0.2.0:

## What's added?
- feat: Add additional info in view cmd #209 @ankitpokhrel
- feat: Show linked issues when viewing #219 @ankitpokhrel
- feat: Show latest comment when viewing #220 @ankitpokhrel
- feat: Add an option to load N comments when viewing issue #226 @ankitpokhrel

## What's fixed?
- fix: Allow config generations even when no boards #216 @sushilkg
- fix: Off by one error in wiki parser #224 @ankitpokhrel
- fix: Language support for Jira cloud #234 @ankitpokhrel
- fix(docs): Optional COMMENT_BODY #236 @realtime-neil
- fix: Respect BROWSER env #253 @ankitpokhrel

## Other notable changes
- cfg: A new field handle is added in issue.types section as part of #234
- build: Reproducible builds #244 #245 @realtime-neil
- build: Initialize version using runtime build info #249 @ankitpokhrel

Full Changelog: ankitpokhrel/jira-cli@v0.2.0...v0.3.0

To all direct/indirect contributors and backers, Thank you
jperkin pushed a commit that referenced this issue May 1, 2022
# cpp11 0.4.2

* Romain François is now the maintainer.

# cpp11 0.4.1

* Fix crash related to unwind protect optimization (#244)

# cpp11 0.4.0

## New Features

* New  opt-in  message  formatting  with the  {fmt}  C++  library  for
  `cpp11::messages()` `cpp11::stop()` and `cpp11::warning()`.  Set the
  `CPP11_USE_FMT`    macro   to    use    this    feature   in    your
  package. (@sbearrows, #169, #208)

* New `as_double()` and `as_integer()` methods to coerce integers to
  doubles and doubles to integers to doubles (@sbearrows, #46)

* `cpp11::matrix` iterators can now be used either row-wise or
  column-wise (the default) depending on the user's choice (@alyst,
  #229)

## Improvements and fixes

* Read-only matrix accessors are now marked const (#234)

* `writable::r_vector` default constructors now return a 0 length
  vector when converted to `SEXP` (#166)

* Read-only `r_vector` constructors now disallow implicit construction
  with named arguments (#237)

* Read-only `r_vector.attr()` methods now return const objects, so it
  is a compile time error to try to assign to them (#237)

* Fixed `+` and `+=` operators of `r_vector::[const_]iterator` to
  conform the *iterators* concept: `+=` updates the iterator, and `+`
  returns the updated copy, while keeping the original unchanged
  (@alyst, #231)

* Remove undefined behavior when constructing global `cpp11::sexp`s (#224)

* Removed redundant `.Call calls` in cpp11.cpp file (@sbearrows, #170)

* Error messages now output original file name rather than the
  temporary file name (@sbearrows, #194)

* `cpp_register()` now includes `attribute_visible` in the init
  function, so packages compiled with `C_VISIBILITY` will find the
  init function.

* Fixed bug when running `cpp_source()` on the same file more than
  once (@sbearrows, #202)

* Allow cpp11 decorators of the form `cpp11::linking_to` (@sbearrows,
  #193)

* Removed internal instances of `cpp11::stop()` and replaced with C++
  exceptions (@sbearrows, #203)

* Names of named lists are now resized along with the list elements
  (@sbearrows, #206)
jperkin pushed a commit that referenced this issue Jun 2, 2022
Upstream changes:
Changes in 0.4-20 (2022-04-29)

    Remove check for Yahoo Finance cookies because the site no longer responds with a cookie, and that caused the connection attempt to fail. This affected getSymbols(), getDividends(), and getSplits(). Thanks to several users for reporting, and especially to @pverspeelt and @alihru for investigating potential fixes! #358

    Update getSymbols.yahooj() for changes to the web page. #312

    Add HL() and supporting functions. These are analogues to HLC(), OHLC(), etc.Thanks for Karl Gauvin for the nudge to implement them.

    Add adjusted close to getSymbols.tiingo() output. Thanks to Ethan Smith for the suggestion and patch! #289 #345

    Use a Date index for getSymbols.tiingo() daily data. Thanks to Ethan Smith for the report! #350

    Remove unneeded arguments to the getSymbols.tiingo() implementation. Thanks to Ethan Smith for the suggestion and patch! #343 #343

    Load dividends and splits data into the correct environment when the user provides a value for the env argument. The previous behavior always loaded the data into the environment the function was called from. Thanks to Stewart Wright for the report and patch! #33

    Make getOptionChain() return all the fields that Yahoo Finance provides. Thanks to Adam Childers (@rhizomatican) for the patch! #318 #336

    Add orats as a source for getOptionChain(). Thanks to Steve Bronder (@SteveBronder) for the suggestion and implementation! #325

    Improve the error message when getSymbols() cannot import data for a symbol because the symbol is not valid or does not have historical data. Thanks to Peter Carl for the report. #333

    Fix the getMetals() example in the documentation. The example section previously had an example of getFX(). Thanks to Gerhard Nachtmann

    for the report and patch! #330

    Fix getQuote() so it returns data when the ticker symbol contains an “&”. Thanks to @pankaj3009 for the report! #324

    Fix addMACD() when col is specified. Thanks to @nvalueanalytics for the report! #321

Changes in 0.4-18 (2020-11-29)

    Fix issues handling https:// in getSymbols.yahooj(). Thanks to @Lobo1981 and @tchevri for the reports and @ethanbsmith for the suggestion to move from XML to xml2. #310 #312

    Fix getSymbols.yahoo(), getDividends(), and getSplits() so they all handle download errors and retry again. Thanks for @helgasoft for the report on getSymbols.yahoo() and @msfsalla for the report on getDividends() and getSplits(). #307 #314

    Add implied volatility and last trade date to getOptionChain() output. Thanks to @hd2581 and @romanlelek for the reports. And thanks to @rjvelasquezm for noticing the error when lastTradeDate is NULL. #224 #304

    Fix getOptionChain() to throw a warning and return NULL for every expiry that doesn’t have data. #299

    Add “Defaults” handling to getQuote() and getQuote.yahoo(). Thanks to @ethanbsmith for the report. #291

    Add Bid and Ask fields to the output from getQuote(). Thanks to @jrburl for the report and PR. #302

    Fix “Defaults” to handle unexported function (e.g. getQuote.av(). Thanks to @helgasoft for the report. #316

    importDefaults() doesn’t call get() on vector with length > 1. Thanks to Kurt Hornik for the report. #319

Changes in 0.4-17 (2020-03-31)

    chartTheme() now works when quantmod is not attached. Thanks to Kurt Hornik for the report.

Changes in 0.4-16 (2020-03-08)

    Remove disk I/O from getSymbols() and getQuote(). This avoids any disk contention, and makes the implementation pattern more consistent with other functions that import data. Thanks to Ethan Smith suggestion and PR. #280 #281

    Make getQuote() robust to symbols without data, so it does not error if one or more symbols are not found. Also return quotes in the same order as the ‘Symbols’ argument. Thanks to Ethan Smith feature request and PR. #279 #282 #288

    Handle semicolon-delimited symbol string handling to main getQuote() function. This makes getQuote() consistent with getSymbols(). Thanks to Ethan Smith suggestion and PR. #284 #285

    Fix ex-dividend and pay date mapping. getQuote() returned the dividend pay date labeled as the ex-dividend date. Thanks to @matiasandina for the report. #287

    Fix Yahoo Finance split ratio. The delimiter changed from “/” to “:”. For example, a 2-for-1 split was 1/2 but is now “2:1”. Thanks to @helgasoft for the report. #292

    Error messages from getQuote.alphavantage() and getQuote.tiingo() no longer contain the API key when symbols can’t be found. #286

    Fix getQuote.alphavantage() by replacing the defunct batch quote request with a loop over the single quote request. Thanks to @helgasoft for the report and patch. #296

    Update getOptionChain() to handle empty volume or open interest Thank to @jrburl for the report and PR. #299 #300
jperkin pushed a commit that referenced this issue Jul 4, 2022
This release is the first release of chardet that no longer
supports Python < 3.6.

In addition to that change, it features the following user-facing
changes:

    Added a prober for Johab Korean (#207, @grizlupo)
    Added a prober for UTF-16/32 BE/LE (#109, #206, @jpz)
    Added test data for Croatian, Czech, Hungarian, Polish, Slovak,
    Slovene, Greek, and Turkish, which should help prevent future
    errors with those languages
    Improved XML tag filtering, which should improve accuracy for
    XML files (#208)
    Tweaked SingleByteCharSetProber confidence to match latest
    uchardet (#209)
    Made detect_all return child prober confidences (#210)
    Updated examples in docs (#223, @domdfcoding)
    Documentation fixes (#212, #224, #225, #226, #220, #221, #244
    from too many to mention)
    Minor performance improvements (#252, @deedy5)
    Add support for Python 3.10 when testing (#232, @jdufresne)
    Lots of little development cycle improvements, mostly thanks
    to @jdufresne
jperkin pushed a commit that referenced this issue Aug 30, 2022
# Changes in version 0.13.0.0

 * `mkType` from `Data.Vector.Generic` is deprecated in favor of
   `Data.Data.mkNoRepType`
 * The role signatures on several `Vector` types were too permissive, so they
   have been tightened up:
   * The role signature for `Data.Vector.Mutable.MVector` is now
     `type role MVector nominal representational` (previously, both arguments
     were `phantom`). [#224](haskell/vector#224)
   * The role signature for `Data.Vector.Primitive.Vector` is now
     `type role Vector nominal` (previously, it was `phantom`).
     The role signature for `Data.Vector.Primitive.Mutable.MVector` is now
     `type role MVector nominal nominal` (previously, both arguments were
     `phantom`). [#316](haskell/vector#316)
   * The role signature for `Data.Vector.Storable.Vector` is now
     `type role Vector nominal` (previous, it was `phantom`), and the signature
     for `Data.Vector.Storable.Mutable.MVector` is now
     `type role MVector nominal nominal` (previous, both arguments were
     `phantom`). [#235](haskell/vector#235)

     We pick `nominal` for the role of the last argument instead of
     `representational` since the internal structure of a `Storable` vector is
     determined by the `Storable` instance of the element type, and it is not
     guaranteed that the `Storable` instances between two representationally
     equal types will preserve this internal structure.  One consequence of this
     choice is that it is no longer possible to `coerce` between
     `Storable.Vector a` and `Storable.Vector b` if `a` and `b` are nominally
     distinct but representationally equal types. We now provide
     `unsafeCoerce{M}Vector` and `unsafeCast` functions to allow this (the onus
     is on the user to ensure that no `Storable` invariants are broken when
     using these functions).
 * Methods of type classes `Data.Vector.Generic.Mutable.MVector` and
   `Data.Vector.Generic.Vector` use concrete monads (`ST`, etc) istead of being
   polymorphic (`PrimMonad`, etc). [#335](haskell/vector#335).
   This makes it possible to derive `Unbox` with:
   * `GeneralizedNewtypeDeriving`
   * via `UnboxViaPrim` and `Prim` instance
   * via `As` and `IsoUnbox` instance: [#378](haskell/vector#378)
 * Add `MonadFix` instance for boxed vectors: [#312](haskell/vector#312)
 * Re-export `PrimMonad` and `RealWorld` from mutable vectors:
   [#320](haskell/vector#320)
 * Add `maximumOn` and `minimumOn`: [#356](haskell/vector#356)
 * The functions `scanl1`, `scanl1'`, `scanr1`, and `scanr1'` for immutable
   vectors are now defined when given empty vectors as arguments,
   in which case they return empty vectors. This new behavior is consistent
   with the one of the corresponding functions in `Data.List`.
   Prior to this change, applying an empty vector to any of those functions
   resulted in an error. This change was introduced in:
   [#382](haskell/vector#382)
 * Change allocation strategy for `unfoldrN`: [#387](haskell/vector#387)
 * Remove `CPP` driven error reporting in favor of `HasCallStack`:
   [#397](haskell/vector#397)
 * Remove redundant `Storable` constraints on to/from `ForeignPtr` conversions:
   [#394](haskell/vector#394)
 * Add `unsafeCast` to `Primitive` vectors: [#401](haskell/vector#401)
 * Make `(!?)` operator strict: [#402](haskell/vector#402)
 * Add `readMaybe`: [#425](haskell/vector#425)
 * Add `groupBy` and `group` for `Data.Vector.Generic` and the specialized
   version in `Data.Vector`, `Data.Vector.Unboxed`, `Data.Vector.Storable` and
   `Data.Vector.Primitive`. [#427](haskell/vector#427)
 * Add `toArraySlice` and `unsafeFromArraySlice` functions for conversion to and
   from the underlying boxed `Array`: [#434](haskell/vector#434)
jperkin pushed a commit that referenced this issue Sep 13, 2022
37.1 (2022-09-03)
-----------------

* Allow HTML5 `nav` tag through cleaner (#259)

37.0 (2022-08-21)
-----------------

* Remove command line example from docs (#197)
* Multiple pyproject.toml fixes (#251)
* Confirm handling multiple inline strong (#252)
* Convert RST output to HTML5 (#253)
* Add Typing to classifiers (#254)
* Development tweaks - coverage reporting, actions updates (#255)
* Add test confirming behavior with unknown lexers (#256)

36.0 (2022-08-06)
-----------------

* Enable gitpod development (#238)
* Allow rst admonitions to render (#242)
* Add badges to README (#243)
* Update codebase for modern Python (#244)
* Fix table cell spans (#245)
* Allow ``math`` directive in rst (#246)
* Preserve ``lang`` attribute in ``pre`` (#247)

35.0 (2022-04-19)
-----------------

* Add py.typed to the built wheel (#228)
* Use isolated build for tox (#229)
* Fix renderer ignore (#230)
* Remove legacy check command and distutils (#233)
* Emit a warning when no content is rendered (#231)
* Drop support for Python 3.6 (#236)
* Update html attribute order in tests (#235)

34.0 (2022-03-11)
-----------------

* Add static types (#225)

33.0 (2022-03-05)
-----------------

* Support cmarkgfm>=0.8.0 (#224)

33.0 (2022-02-05)
-----------------

* Support cmarkgfm>=0.8.0 (#224)
* Support Python 3.10

32.0 (2021-12-13)
-----------------

* Allow start attribute in ordered lists (#216)
* No limit rendering RST one column field names (#219)

31.0 (2021-12-09)
-----------------

* Render disabled checkboxes from Markdown (#217)

30.0 (2021-09-30)
-----------------

* support cmarkgfm>=0.6.0 (#209)
jperkin pushed a commit that referenced this issue Dec 18, 2022
# tidyselect 1.2.0

## New features

* New `tidyselect_data_proxy()` and `tidyselect_data_has_predicates()`
  allows tidyselect to work with custom input types (#242).

* New `eval_relocate()` for moving a selection. This powers `dplyr::relocate()`
  (#232).

## Lifecycle changes

* Using `all_of()` outside of a tidyselect context is now deprecated (#269).
  In the future it will error to be consistent with `any_of()`.

* Use of `.data` in tidyselect expressions is now deprecated to more cleanly
  separate tidy-select from data-masking. Replace `.data$x` with `"x"` and
  `.data[[var]]` with `any_of(var)` or `all_of(var)` (#169).

* Use of bare predicates (not wrapped in `where()`) and indirection (without
  using `all_of()`) have been formally deprecated (#317).

## Minor improvements and bug fixes

* Selection language:

  * `any_of()` generates a more informative error if you supply too many
    arguments (#241).

  * `all_of()` (like `any_of()`) returns an integer vector to make it easier
    to combine in functions (#270, #294). It also fails when it can't find
    variables even when `strict = FALSE`.

  * `matches()` recognises and correctly uses stringr pattern objects
    (`stringr::regex()`, `stringr::fixed()`, etc) (#238). It also now
    works with named vectors (#250).

  * `num_range()` gains a `suffix` argument (#229).

  * `where()` is now exported, like all other select helpers (#201),
    and gives more informative errors (#236).

* `eval_select()` with `include` now preserves the order of the variables
  if they're present in the selection (#224).

* `eval_select()` always returns a named vector, even when renaming is not
  permitted (#220).

* `eval_select()` and `eval_relocate()` gain new `allow_empty` argument which
  makes it possible to forbid empty selections with `allow_empty = FALSE` (#252).

* `eval_select(allow_rename = FALSE)` no longer fails with empty
  selections (#221, @eutwt) or with predicate functions (#225). It now properly
  fails with partial renaming (#305).

* `peek_var()` error now generates hyperlink to docs with recent RStudio (#289).

* `vars_pull()` generates more informative error messages (#234, #258, #318)
  and gains `error_call` and `error_arg` arguments.

* Errors produced by tidyselect should now be more informative. Evaluation
  errors are now chained, with the child error call is set to the `error_call`
  argument of `eval_select()` and `eval_rename()`. We've also improved
  backtraces of base errors, and done better at propagating the root
  `error_call` to vctrs input checkers.

* `tidyselect_verbosity` is no longer used; deprecation messaging is now
  controlled by `lifecycle_verbosity` like all other packages (#317).
jperkin pushed a commit that referenced this issue May 25, 2023
Changelog (taken from https://github.com/eudev-project/eudev/releases/tag/v3.2.12):

Release 3.2.12

What's Changed

    rules/50-udev-default.rules: add PTP entry for Hyper-V/Azure by @dermotbradley in #218
    Add the BUILD instructions for Gentoo by @lu-zero in #224
    Fix warnings by @bbonev in #222
    udev: add udev_dir as synonym of udevdir by @oreo639 in #225
    build: Remove dead g-i-r configuration by @akiernan in #231
    Hwdb.7 by @bbonev in #221
    Precompiled hwdb by @bbonev in #223
    Merge suitable rules changes from systemd by @bbonev in #220
    Merge hwdb from systemd by @bbonev in #219
    Fix problems detected by fortified builds by @bbonev in #232
    Avoid warning on 32bit by @bbonev in #233
    Systemd PR 24353 by @bbonev in #239
    Do not free a static string by @bbonev in #238
    man: udev.7, mention /usr/lib with split-usr by @omnivagant in #246
    Missing tools by @bbonev in #240
    Fix compile-time issue on very old kernels by @cockroach in #247
jperkin pushed a commit that referenced this issue Jun 8, 2023
New features
 - Considerably refined the app packaging strategy, introducing support for more
   architectures and other advancements 📦 (see #246 for additional details)
 - Added button to clear all the current search filters quickly in inspect page
 - Added Swedish translation 🇸🇪 (#213)

Improvements
 - Updated most of the existing translations to v1.2:
     - German 🇩🇪 (#191)
     - Spanish 🇪🇸 (#203)
     - Persian 🇮🇷 (#193)
     - Korean 🇰🇷 (#205)
     - Polish 🇵🇱 (#244)
     - Romanian 🇷🇴 (#241)
     - Russian 🇷🇺 (#187)
     - Turkish 🇹🇷 (#192)
     - Ukrainian 🇺🇦 (#216)
     - Chinese 🇨🇳 (#214)
 - Renamed "Administrative entity" to "Autonomous System name" to avoid
   confusion
 - Improved filter columns relative width to avoid the "Application protocol"
   label being cut when displayed in Swedish
 - Footer URLs have been updated to include links to Sniffnet's official website
   and GitHub Sponsor page
 - Updated docs including installation instruction for Arch Linux (#185)
 - Minor improvements to packets and bytes number format
 - Minor improvements to:
     - code readability (#248)
     - docs (#235)

Fixes
 - Various issues have been fixed by the refined packaging strategy (#199, #220,
   #223, #224, #225, #242)
 - Solved a minor problem that caused flags to be slightly misaligned in inspect
   page table
jperkin pushed a commit that referenced this issue Jun 11, 2023
# gargle 1.4.0

## Google Compute Engine

* `credentials_gce(scopes = NULL)` is now equivalent to
  `credentials_gce(scopes =
  "https://www.googleapis.com/auth/cloud-platform")`, i.e. there's an
  even stronger current towards the recommended "cloud-platform"
  scope.

* `credentials_gce(scopes =)` now includes those `scopes` in its
  request to the metadata server for an access token (#216). Note that
  the scopes for a GCE access token are generally pre-determined for
  the instance and its associated service account at creation/launch
  time and these requested `scopes` will have no effect. But this
  seems to do no harm and it is possible that there are contexts where
  this is useful.

* `credentials_gce()` now emits considerably more information when the
  `"gargle_verbosity"` option is set to `"debug"`. For example, it
  reports mismatches between requested scopes and instance scopes and
  between requested scopes and the access token's actual scopes.

* `credentials_gce()` stores the actual scopes of the received access
  token, which can differ from the requested scopes. This is also
  noted when the `"gargle_verbosity"` option is set to `"debug"`.

* The `GceToken` R6 class gains a better `$print()` method that is
  more similar to gargle's treatment of tokens obtained with other
  flows.

## Behaviour in a cloud/server context

* gargle is better able to detect when it's running on Posit Workbench
  or RStudio Server, e.g., in a subprocess.

* `gargle_oauth_client_type()` is a new function that returns either
"installed" or "web".  It returns the value of the new global option
by the same name (`"gargle_oauth_client_type"`), if defined.  If the
option is not defined, returns "web" on RStudio Server, Posit
Workbench, Posit Cloud, or Google Colaboratory and "installed"
otherwise.  In the context of out-of-band (OOB) auth, an "installed"
client type leads to the conventional OOB flow (only available for GCP
projects in testing mode) and a "web" client leads to the new
pseudo-OOB flow.  The option and accessor have been added to cover
contexts other than those mentioned above where it is helpful to
request a "web" client.

* `credentials_user_oauth2()` now works in Google Colaboratory (#140).

## Everything else

* gargle now elicits user input via `readline()`, instead of via
  `utils::menu()`, which is favorable for interacting with the user in
  a Jupyter notebook (#242).

* The roxygen templating functions that wrapper packages can use to
generate standardized documentation around auth have been updated to
reflect gargle's pivot from OAuth "app" to "client".  Changes of note:

  - `PREFIX_auth_configure_description()` crosslinks to `PREFIX_oauth_client()`
    now, not `PREFIX_oauth_app()`. So this assumes the package has indeed
    introduced the `PREFIX_oauth_client()` function (and, presumably, has
    deprecated `PREFIX_oauth_app()`).
  - `PREFIX_auth_configure_params()` gains `client` argument.
  - `PREFIX_auth_configure_params()` deprecates the `app` argument and uses a
    lifecycle badge. It is assumed that the badge SVG is present, which can be
    achieved with `usethis::use_lifecycle()`.
  - `PREFIX_auth_configure_params()` crosslinks to
    `gargle::gargle_oauth_client_from_json()`. The wrapper package therefore
    needs to state a minimum version for gargle, e.g. `gargle (>= 1.3.0)` (or
    higher).

* `credentials_byo_oauth2()` works now for (variations of) service
  account tokens, as intended, not just for user tokens (#250). It
  also emits more information about scopes when the
  `"gargle_verbosity"` option is set to `"debug"`.

# gargle 1.3.0

## (Partial) deprecation out-of-band (OOB) auth flow

On February 16, 2022, Google announced the gradual deprecation of the
out-of-band (OOB) OAuth flow.  OOB **still works** if the OAuth client
is associated with a GCP project that is in testing mode and this is
not going away.  But OOB is no longer supported for projects in
production mode.  To be more accurate, some production-mode projects
have gotten an extension to permit the use of OOB auth for a bit
longer, but that's just a temporary reprieve.

The typical user who will (eventually) be impacted is:

* Using R via RStudio Server, Posit Workbench, or Posit Cloud.
* Using tidyverse packages such as googledrive, googlesheets4, or bigrquery.
* Relying on the built-in OAuth client. Importantly, this client is associated
  with a GCP project that is in production mode.

The phased deprecation of OOB is nearly complete and we expect
conventional OOB to stop working with the built-in tidyverse OAuth
client on February 1, 2023, at the latest.

**In preparation for this, gargle has gained support for a new flow,
which we call pseudo-OOB (in contrast to conventional OOB)**.  The
pseudo-OOB flow is triggered when `use_oob = TRUE` (an existing
convention in gargle and gargle-using packages) and the configured
OAuth client is of "Web application" type.  The
gargle/googledrive/googlesheets4/bigrquery packages should now default
to a "Web application" client on RStudio Server, Posit Workbench and
Posit Cloud, leading the user through the pseudo-OOB flow.  Other than
needing to re-auth once, affected users should still find that things
"just work".

Read the `vignette("auth-from-web")` for more.

## gargle-specific notion of OAuth client

`gargle_oauth_client()` is a new constructor for an S3 class by the same name.
There are two motivations:

  - To adjust to Google's deprecation of conventional OOB and to support
    gargle's new pseudo-OOB flow, it is helpful for gargle to know whether an
    OAuth client ID is of type "Web application" or "Desktop app". That means we
    need a Google- and gargle-specific notion of an OAuth client, so we can
    introduce a `type` field.
  - A transition from httr to httr2 is on the horizon, so it makes sense to
    look more toward `httr2:oauth_client()` than to `httr::oauth_app()`.
    gargle's vocabulary is generally shifting towards "client" and away from
    "app".

`oauth_app_from_json()` has therefore been (soft) deprecated, in favor
of a new function `gargle_oauth_client_from_json()`, which is the
preferred way to instantiate an OAuth client, since the downloaded
JSON conveys the client type and redirect URI(s).  As a bridging
measure, `gargle_oauth_client` currently inherits from httr's
`oauth_app`, but this probably won't be true in the long-term.

`gargle_client(type =)` replaces `gargle_app()`.

## Google Compute Engine and Google Kubernetes Engine

`credentials_gce()` no longer asks the user about initiating an OAuth
cache, which is not relevant to that flow (#221).

`gce_instance_service_accounts()` is a newly exported utility that
exposes the service accounts available from the metadata server for
the current instance (#234).

The global option `"gargle.gce.timeout"` is newly documented in
`credentials_gce()`.  This controls the timeout, in seconds, for
requests to the metadata server.  The default value (or strategy) for
setting this should often suffice, but the option exists for those
with an empirical need to increase the timeout (#186, #195).

`vignette("non-interactive-auth")` has a new section "Workload
Identity on Google Kubernetes Engine (GKE)" that explains how gargle
supports the use of workload identity for applications running on
GKE. This is the recommended method of auth in R code running on GKE
that needs to access other Google Cloud services, such as the BigQuery
API (#197, #223, @MarkEdmondson1234).

## Credential function registry

It's gotten a bit easier to work with the credential registry.
The primary motivation is that, for example, on Google Compute Engine, you might
actually want to suppress auth with the default service account and auth as a
normal user instead.
This is especially likely to come up with gmailr / the Gmail API.

* The credential-fetcher `credentials_byo_oauth2()` has been moved to the very
  beginning of the default registry. The logic is that a user who has specified
  a non-`NULL` value of `token` must mean business and does not want automagic
  auth methods like ADC or GCE to be tried before using their `token`
  (#187, #225).

* The `...` in `cred_funs_all()` are now
  [dynamic dots](https://rlang.r-lib.org/reference/dyn-dots.html) (#224).

* Every registered credential function must have a unique name now.
  This is newly enforced by `cred_funs_add()` and `cred_funs_set()` (#224).

* `cred_funs_list_default()` is a new function that returns gargle's default
  list of credential functions (#226).

* `cred_funs_add(cred_fun = NULL)` is now available to remove a credential
  function from the registry (#224).

* `with_cred_funs()` and `local_cred_funs()` are new helpers for making narrowly
  scoped changes to the registry (#226).

* The `ls` argument of `cred_funs_set()` has been renamed to `funs` (#226).

* In general, credential registry functions now return the current registry,
  invisibly (#224).

# gargle 1.2.1

* Help files below `man/` have been re-generated, so that they give
  rise to valid HTML5. (This is the impetus for this release, to keep
  the package safely on CRAN.)

* We have switched to newer oauth2.googleapis.com-based OAuth2 URIs,
  moving away from the accounts.google.com and googleapis.com/oauth2
  equivalents.

* `credentials_gce()` no longer validates the requested scopes against
instance scopes.  In practice, it's easy for this check to be more of
a nuisance than a help (#161, #185 @craigcitro).

* `request_retry()` retries for an expanded set of HTTP codes: 408,
  429, 500, 502, 503. Previously, retries were limited to 429 (#169).

## Dependency changes

* The minimum versions of rlang and testthat have been bumped. The
  motivation is to exploit and adapt to the changes to the display of
  error messages.
jperkin pushed a commit that referenced this issue Jun 22, 2023
# haven 2.5.2

* Updated to ReadStat 1.1.9.

  * Fix various SAS catalog file reading bugs (#529, #653, #680, #696, #705).
  * Increase maximum SAS page file size to 16MiB (#697).
  * Ignore invalid SAV timestamp strings (#683).
  * Fix compiler warnings (#707).

* The experimental `write_sas()` function has been deprecated (#224). The
  sas7bdat file format is complex and undocumented, and as such writing SAS
  files is not officially supported by ReadStat. `write_xpt()` should be used
  instead - it produces files in the SAS transport format, which has
  limitations but will be reliably read by SAS.

* `write_*()` functions gain a new `adjust_tz` argument to allow more control
  over time zone conversion for date-time variables (#702). Thanks to @jmobrien
  for the detailed issue and feedback.

  Stata, SPSS and SAS do not have a concept of time zone. Since haven 2.4.0
  date-time values in non-UTC time zones are implicitly converted when writing
  to ensure the time displayed in Stata/SPSS/SAS will match the time displayed
  to the user in R (see #555). This is the behaviour when `adjust_tz = TRUE`
  (the default). Although this is in line with general user expectations it can
  cause issues when the time zone is important, for e.g. when looking at
  differences between time points, since the underlying numeric data is changed
  to preserve the displayed time. Use `adjust_tz = FALSE` to write the time as
  the corresponding UTC value, which will appear different to the user but
  preserves the underlying numeric data.

* `write_*()` functions previously returned the data frame with minor
  alterations made to date-time variables. These functions now invisibly return
  the original input data frame unchanged (@jmobrien, #702).

* Fix bug in string variable width calculation that treated `NA` values as width
  2. `NA` values are now treated as blanks for width calculations (#699).

# haven 2.5.1

* All `labelled()` vectors now have left-aligned column headers when printing
  in tibbles for better alignment with labels (#676).

* `write_*()` now accept functions as well as strings in the
  `.name_repair` argument in line with the documentation. Previously they only
  supported string values (#684).

* `write_sav()` variable name validation no longer treats all non-ASCII
  characters as invalid (#689).

# haven 2.5.0

## New author

* @gorcha is now a haven author in recognition of his significant and sustained
  contributions.

## File writing improvements

* All `write_` functions can now write custom variable widths by setting the
  `width` attribute (#650).

* When writing files, the minimum width for character variables is now 1. This
  fixes issues with statistical software reading blank character variables with
  width 0 (#650).

* `write_dta()` now uses strL when strings are too long to be stored in an str#
  variable (#437). strL is used when strings are longer than 2045 characters by
  default, which matches Stata's behaviour, but this can be reduced with the
  `strl_threshold` argument.

* `write_xpt()` can now write dataset labels with the `label` argument,  which
  defaults to the `label` attribute of the input data frame, if present (#562).

* `write_sav()` now checks for case-insensitive duplicate variable names
  (@juansebastianl, #641) and verifies that variable names are valid SPSS
  variables.

* The `compress` argument for `write_sav()` now supports all 3 SPSS compression
  modes specified as a character string - "byte", "none" and "zsav" (#614).
  `TRUE` and `FALSE` can be used for backwards compatibility, and correspond to
  the "zsav" and "none" options respectively.

* `write_sav()` successfully writes user missing values and ranges for
  `labelled()` integer vectors (#596).

* POSIXct and POSIXlt values with no time component (e.g. "2010-01-01") were
  being converted to `NA` when attempting to convert the output timezone to UTC.
  These now output successfully (#634).

* Fix bug in output timezone conversion that was causing variable labels and
  other variable attributes to disappear (#624).

## Other improvements and fixes

* Updated to ReadStat 1.1.8 RC.

  * Fix bug when writing formats to XPT files (#650).
  * Fix off by one error in indexing for strL variables (#437).

* `labelled()` vectors now throw a warning when combining two vectors with
  conflicting labels (#667).

* `zap_labels()` gains a `user_na` argument to control whether user-defined
  missing values are converted to `NA` or left as is (#638).

* vctrs casting and coercion generics now do less work when working with two
  identical `labelled()` vectors. This significantly improves performance when
  working with `labelled()` vectors in grouped data frames (#658).

* Errors and warnings now use `cli_abort()` and `cli_warning()` (#661).

## Dependency changes

* R 3.4 is now the minimum supported version, in line with [tidyverse  policy](https://www.tidyverse.org/blog/2019/04/r-version-support/).

* cli >= 3.0.0 has been added to Imports to support new error messaging.

* lifecycle has been added to Imports, and is now used to manage deprecations.
jperkin pushed a commit that referenced this issue Aug 8, 2023
What's Changed
 - fix typo in config example variable by @hyperpuncher in #209
 - Add Void Linux as install option by @f1nbar in #210
 - Implement timeout mechanism for getting authentication token by
   @aome510 in #212
 - Fix a typo for homebrew install instructions by @toh995 in #216
 - Add tracks_playback_limit config option by @aome510 in #219
 - Use ttl cache instead of lru by @aome510 in #220
 - Create app.toml with default values if it doesn't exist by @cobbinma in #221
 - Tokyonight Theme 🎨 by @cobbinma in #225
 - Improve queue popup by @m-torhan in #226
 - fix: constant module name typo by @nuugen in #227
 - Allow removing a keybind by @Kuba314 in #223
 - move items in a playlist by @cobbinma in #224
 - Improve TTL caching and handling by @aome510 in #230
 - Playlist CLI Editing - New, Delete, Import, Fork, Update by
   @justjokiing in #222
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 Sep 10, 2023
Enhancements

    Update LSP spec to latest by @karthiknadig in #230
    Add --output-dir switch to code generator by @karthiknadig in #239

Dotnet

    Dotnet: Code generation for LSP methods by @karthiknadig in #222
    Generate request, notification and options classes by @karthiknadig in #224
    dotnet: Add test case generation by @karthiknadig in #226
    Add devcontainer support to repo by @timheuer in #234
    Add dotnet test and format check to GHA by @karthiknadig in #240
    Add response types and improve test suite by @karthiknadig in #243
    Generate dotnet project package. by @karthiknadig in #252
    Format Generated Code by @karthiknadig in #257
    Use record instead of class for LSP types. by @karthiknadig in #258
    Use ImmutableArray and ImmutableDictionary by @karthiknadig in #256

Bug Fixes

    Fix bug with structuring LSPObject type by @karthiknadig in #229
    dotnet: Fix issues with OrType serialization by @karthiknadig in #232
    Improve documentation tags in generated code by @karthiknadig in #250
    Fix warning with generated converter code by @karthiknadig in #251
    Fix for missing notebook selector hook by @karthiknadig in #260
jperkin pushed a commit that referenced this issue Nov 6, 2023
profanity 0.14.0 needs this new version.

pkgsrc changes:
remove patch-configure.ac, applied in this version.

changes from changelog:
0.12.3
- Improve TCP-connection establishment (#221)
- Handle case where the server doesn't provide the `bind`
     feature (#224)
- Fix configure script for non-bash shells (#218)
- Parse JID's according to RFC7622 (#219)
- Fix potential memory leak in internal DNS resolver (#219)
- Fix potential memory leaks in `xmpp_conn_set_cafile()` and
    `xmpp_conn_set_capath()` (#219)
- Internal improvements (#219)

0.12.2
- Fix reconnect issues when Stream Management is enabled (#211)
- Fix resolver ... this time for real hopefully (fixup of #200) (#214)
- Fix clearing of password cache on resumed connection (#214)
- Improve detection&implementation of `va_copy` (#213)
- Fix Valgrind CI builds against LibreSSL (#212)
- Fix perf example on platforms where an `rdtsc()` equivalent
     isn't implemented (#212)

0.12.1
- Fix compilation in buildroot (#207)
- Fixes regarding OpenSSL (#208)
- Fix some build steps when builddir != srcdir (#208)
- Allow the user to disable build of examples (#209)
- CI builds against OpenSSL 3 (#206)
- Change the call signature of the following API:
    - xmpp_conn_set_client_cert() - the PKCS#12 file has now to
        be passed via the `cert` parameter. Originally it
        was via `key`. Currently both styles are supported,
        but in a future release only passing via `cert` will be
        accepted.
jperkin pushed a commit that referenced this issue Nov 6, 2023
## BumpVer 2023.1129

- Fix [#224][gh_i224]: Add `--environ` so it emits `0` values. Depricate `-e/--env`.
- Add [#223][gh_pr223]: Add support for `.bumpver.toml`
jperkin pushed a commit that referenced this issue Nov 27, 2023
What's Changed
 - Added: Horizontal Scrollbar to Editor by @AmmarAbouZor in #217
 - Changed: Upgrade Crates Ratatui & Tui-Textarea with breaking changes
   by @AmmarAbouZor in #224
 - Added: Visual Mode to Built-in Editor by @AmmarAbouZor in #239
jperkin pushed a commit that referenced this issue Feb 14, 2024
v0.20.1

What's Changed

    Switch to GitHub Actions CI. by @patrickt in #166
    Add the same PR template as for tree-sitter-javascript by @mjambon in #169
    Fixed CRLF behavior for tests by @ahelwer in #188
    Fix CRLF behavior mismatch during error recovery by @ahelwer in #189
    Endless methods by @aibaars in #190
    Add forwarded parameters/arguments by @aibaars in #191
    Disable C++ exceptions when compile for wasm32-wasi by @glebpom in #192
    Pattern matching by @aibaars in #193
    Improve grammar after the introduction of case-in pattern matching by @aibaars in #197
    Add parenthesized_pattern by @aibaars in #198
    Ruby 3.1 features by @aibaars in #201
    Update to Node 16 by @mattmassicotte in #206
    C bindings by @mattmassicotte in #199
    Parser improvements by @aibaars in #207
    CI: use windows-2019 for now by @aibaars in #209
    Add named rules for the various call operators by @aibaars in #211
    Update Makefile by @mattmassicotte in #213
    Allow newer tree-sitter upstream library. by @patrickt in #215
    Bump tree-sitter version to 0.20 by @hendrikvanantwerpen in #214
    Fix parse error in 'foo! if condition' by @aibaars in #216
    Parser improvements: != operator and key: [line_break] by @aibaars in #220
    Some improvements to the parser by @aibaars in #222
    Wrap class, module, method, and block bodies in a named node by @npezza93 in #224
    Parser improvments: quoted heredocs and short-hand interpolations by @aibaars in #225
    Add body field for end-less methods by @aibaars in #226
    Swift bindings by @mattmassicotte in #227
    fix: rename reserved word “arguments” by @drwpow in #229
    Bump versions in #208
    Anonymous (hash) splat arguments by @aibaars in #233
    One-line pattern matching by @aibaars in #194
    Scanner: do not skip LINE_BREAKs before .. and ... by @aibaars in #238
    Fix non-termination in parser by @aibaars in #239
    Fix scanning of division vs regex before line ending by @aibaars in #246
    Fix 'case' with newlines before expression by @aibaars in #247
jperkin pushed a commit that referenced this issue Feb 20, 2024
ELinks 0.17.0
-------------

Released on 2023-12-25

* fix for some 32-bit systems and select-only builds
* fix for gettext in Windows builds


ELinks 0.17.0rc2
----------------

Released on 2023-12-10

* Avoid division by zero. Refs #276
* Fix for FSP under Windows


ELinks 0.17.0rc1
----------------

Released on 2023-12-02

* configuration files are now saved to ~/.config/elinks/ or $XDG_CONFIG_HOME/elinks/ #199
  User must copy files from ~/.elinks/ to ~/.config/elinks/ himself or herself
* HOME_ETC support was dropped, you can set ELINKS_CONFDIR instead
* idn2 in place of idn #206
* libcss support (a few netsurf's libraries are required). Set document.css.libcss = 1 to enable
* experimental libsixel support (image/*; img2sixel %s; copiousoutput) in ~/.mailcap
  Must be enabled in a few places in configuration: set document.plain.sixel = 1
  and in terminal options. Do not try it on metered remote connections
* testing libcurl support (explicit FTPS and SFTP among others)
  To enable set protocol.ftp.use_curl = 1
  set protocol.http.use_curl = 1 for http/https
* ui.sessions.postpone_unlink option. Delete temporary files at exit instead of immediately after
  closing viewer #257
* redefined isspace #249
* Serbian translation update
* compilation fixes

ELinks 0.16.1.1
---------------

Released on 2023-05-01

* updated POTFILES #230

ELinks 0.16.1
-------------

Released on 2023-04-30

* handle SECTION html element #207
* allocate more memory for BLOCKQUOTE #214
* encode A href to terminal codepage and encode bytes with highest bit set as %HEX #221
* Serbian translation update
* install doc by default in meson #224
* tests fixes
jperkin pushed a commit that referenced this issue Feb 23, 2024
v0.4.1
Fixes
    Fix an issue where fonts can fail to be detected on some systems (#250)

Docs
    Update the repo link to our newly minted organization (#251)

v0.4.0
I'd like to start with a huge thanks to all of our contributors. This release
wouldn't have happened nearly as soon, nor would it have had as many fixes and
features without everyone's help ❤️
Breaking Changes
    Completions are now generated ahead of time and provided with the release
    assets instead of the old --gen-completions <SHELL> flag
    The default light theme code-highlighter was changed from the
    inpsired-github to the new github syntax highlighter
    We have a new wayland feature that is enabled by default for clipboard
    support. If you don't use wayland and you run into wayland related build
    errors then consider building with the --no-default-features with the
    optional --features x11 if you're using Xorg still
    The default zoom-out keybind is now <Ctrl+=> instead of <Ctrl++> and
    zoom-reset is now unbound by default instead of <Ctrl+=>

Features
    Font fallback is now supported 🎉 (less tofu --> more emojis)
    A lot more embedded syntax highlighting themes (#219)
        The full list is always in the inlyne.default.toml file
    Add clipboard support for wayland (#243)
    Add support for color-scheme specific <picture>s (#236)
    Underlines are now supported in syntax highlighting (#221 and #225)
    extra keybindings now override base (#224)
    Use human-panic for more user-friendly panic messages (#172)
    Support table column alignment (#136)
    Use taffy for laying out tables (#129)

Fixes
    Inherit alignment for headers (#241)
    Allow for px suffix on pixel length (#238)
    Mimic GitHub's anchorizer for creating headers' anchor links (#227)
    Correctly reset table column alignment (#218)
    Reset scroll on markdown navigation (#213)
    Debounce file watcher events (#200)
    More gracefully handle failures in image loading (#187)
    Switch the TLS library from openssl to rustls (#179)
        Fixes some issues with window's failing some image requests

Documentation
    Document fontconfig dependency (#220)

Internal
    The usual swarm of non-user-facing changes
jperkin pushed a commit that referenced this issue Apr 3, 2024
Features / Improvements ✨
    Links should be "openable" (#43)
    Add support for previewing images in room scrollback (#108)
    Enable sending strikethrough text (#141)
    Support composing messages in an external editor (#155)
    Add support for logging in with SSO (#160)
    Add new command for logging out of iamb session (#162)
    Support custom sorting for room and user lists (#170)
    feat: desktop file for GUI environment launchers (#178)
    Add a new :chats window that lists both DMs and Rooms (#184)
    Add support for desktop notifications (#192)
    Support coloring entire message with the user color (#193)
    Indicate and sort on rooms with unread messages (#205)
    Support following the .well-known entries for a username's domain (#209)
    Add support for threads (#216)
    Add support for custom key macros (#217)
    Support displaying shortcodes instead of Emojis in messages (#222)
    Support configuring user gutter width (#223)
    Enable autolinking when rendering Markdown (#226)
    Support notifications via terminal bell (#227)
    Support loading a TOML configuration (#229)
    Add commands for importing and exporting room keys (#233)

Documentation / README updates 📚
    Fix example config (#140)
    Add more documentation (#166)
    Update README.md to add openSUSE Tumbleweed (#191)
    Add snap install instructions (#210)
    Add example of mapping "V" to toggle message selection mode (#195)
    Update manual pages to use mdoc(7) and list commands (#230)
    Add an icon for iamb (#232)

Bug Fixes 🐞
    Fix not showing display names in already synced rooms (#171)
    Fix image preview offset (#179)
    Update to [email protected] to use native sixel lib (#181)
    Fix truncation/padding for non-ASCII sender names (#182)
    Fix crash on small image preview (#198)
    Download rooms keys from backups if they exist (#211)
    Ignore key releases on platforms that support it (#220)
    Provide better error message for M_UNKNOWN_TOKEN (#101)
    Fix entering thread view when there's no messages yet (#224)
    Fix image previews in replies (#225)
    Reset message bar when ! is passed with :cancel (#231)
    Wait to log in before starting background tasks (#234)

Performance ⏱️
    Reduce CPU usage by instead fetching read receipts after related sync events (#168)
    Load receipts for room before acquiring lock (#213)

Building / Housekeeping 🧹
    Update Cargo.lock file (#157)
    Update modalkit for newer ratatui and crossterm
    Fix CI workflow (#164)
    Use mozilla-actions/sccache-action for caching builds (#169)
    Enable direnv for Nix flakes (#183)
    Update to [email protected] (#200)
    Rename Nix flake build input from pkgconfig to pkg-config (#203)
    Update modalkit dependencies (#204)
    Move LTO into its own "release-lto" profile (#207)
    Fix Nix flake hashes (#206)
    Pull in modalkit repository with a Cargo.lock (#208)
    Nix flake updates (#214)
    Update to [email protected] (#215)
    Support linking against system OpenSSL (#218)
    GitHub workflow should use --locked to avoid broken Cargo.lock (#219)
    Fix odd Windows-only compile error (#221)
jperkin pushed a commit that referenced this issue Jun 4, 2024
[1.3.2] - 2024-05-27
Changed
 - Show "Copy URL", "Copy Body" and "Copy as cURL" actions from the Recipe list #224
    - Previously this was only available in the Recipe detail pane
 - Fix Edit Collection action in menu
 - Persist response body query text box contents
    - Previously it would reset whenever you made a new request or changed recipes
jperkin pushed a commit that referenced this issue Jun 10, 2024
v3.1.1 (2024-05-22)
-------------------

Bugfixes
^^^^^^^^

- Fix private subpackages causing orphan pages (#446)


v3.1.0 (2024-05-20)
-------------------

Features
^^^^^^^^

- Objects can render to their own page (#226)
- Render PEP-695 type aliases as TypeAlias assignments. (#414)


Bugfixes
^^^^^^^^

- Values are always rendered for TypeAlises and PEP-695 type aliases. (#224)
- Fix submodule with `__init__.pyi` documented as `__init__` instead of submodule name (#398)
- Fix IndexError when a module docstring contains only a heading (#412)
- Preserve strings inside Literal type annotations (#423)
- Stopped using xrefs in page titles (#427)
- Fix unpickable configuration value warning when using autoapi_prepare_jinja_env (#445)
- Fix emitting ignore event twice for methods.


Misc
^^^^

- #388
jperkin pushed a commit that referenced this issue Jul 20, 2024
tox: add pip==24.1b1 by @woodruffw in #213
tox: pip241b2 by @woodruffw in #216
tox: pip==24.1 by @woodruffw in #218
tox: pip==24.1.1 by @woodruffw in #220
tox: pip==24.1.2 by @woodruffw in #222
meta: drop support for Python 3.7 by @woodruffw in #223
prep 0.0.34 by @woodruffw in #224
github-actions bot pushed a commit that referenced this issue Oct 17, 2024
### 1.8.0 (2024-10-17)
 * All: Drop support for Python 2 and <3.6, removing compatibility code.
 * All: Use stdlib unittest.mock instead of mock package.
 * All: Removed usage of path.py and path in favour of pathlib. #174 #224
 * pytest-devpi-server: Run devpi-init for initialisation. #179
 * pytest-server-fixtures: BREAKING CHANGE: Removed RethinkDB support, as the project is no longer maintained.
 * pytest-server-fixtures: Allowed passing through HTTP headers to the server. #149
 * pytest-server-fixtures: Fixed threading log debug messages. #146
 * pytest-server-fixtures: Removed usage of deprecated Thread.setDaemon. #202
 * pytest-server-fixtures: Explicitly close initial Mongo client. #198
 * pytest-server-fixtures: Don't use context manager for CREATE DATABASE #186
 * pytest-shutil: Removed contextlib2 requirement. #144
 * pytest-shutil: Fixed forcing color through termcolor. #217
 * pytest-shutil: Replaced deprecated imp module #219
 * pytest-profiling: Added support to hide/show the full path of file. #95
 * pytest-profiling: Fixed SVG file generation on Windows. #93
 * pytest-profiling: Remove pinning of more-itertools. #194
 * pytest-profiling: Add support to define element number for print_stats() #96
 * pytest-profiling: Fix mock in test_writes_summary #223
 * pytest-virtualenv: Modernised package. #188 #185 #182 #163
 * pytest-virtualenv: Fixed virtualenv creation on Windows. #142
 * pytest-virtualenv: Added delete_workspace parameter to VirtualEnv. #195
 * pytest-virtualenv: Removed extras_require. #240
 * ci: Remove usage of deprecated distutils. #189
 * ci: Disabled jenkins server tests on CircleCI to improve build time.
 * ci: Fixed `collections` import for py 3.11 compatibility #222


### 1.7.1 (2019-05-28)
* pytest-profiling: Fix pytest-profiling to profile fixtures. #48
* pytest-devpi-server: Fixed Python 3.4 support updating "ruamel.yaml" requirements. #138
* ci: Added  PYTEST_DONT_REWRITE in order to suppress module already imported. #123
github-actions bot pushed a commit that referenced this issue Oct 21, 2024
7.1.2 (2024-10-15)

* Test on Ruby 3.3 (#236)
* Support alpine 3.19 and up (#234)
* Use libsodium constants for scrypt params (#231)
* Fix error message generation when empty hmac key is given (#224)
* Add ed25519 to curve25519 conversion helpers (#217)
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