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

mail/dspam: add SMF support #267

Closed
wants to merge 1 commit into from
Closed

mail/dspam: add SMF support #267

wants to merge 1 commit into from

Conversation

erwinlem
Copy link

@erwinlem erwinlem commented Jun 2, 2020

I added a manifest file to enable SMF support. Is this done correctly? I only tested under SmartOS.

Should I make the pull requests for the Joyent tree or is it better to do it against the NetBSD tree directly? I have some more SMFs I want to add but let's start with this one.

@jperkin jperkin self-assigned this Jun 2, 2020
@jperkin
Copy link
Collaborator

jperkin commented Jun 2, 2020

Committed, thanks! Feel free to use either repo, this one is perhaps better to use for things that are specific to illumos but it's only me that handles them, whereas the NetBSD repository has more people watching it (me included).

@jperkin jperkin closed this Jun 2, 2020
@jperkin
Copy link
Collaborator

jperkin commented Jun 2, 2020

BTW I did notice that this probably won't work after a reboot - the dspam package uses its own /var/run/dspam directory to hold its pid, but /var/run is a tmpfs and that directory, while created during the package install, will not exist once rebooted. Usually the way to fix this is to move the start to a method script which creates it as required but that can be done separately.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 2, 2020
jperkin pushed a commit that referenced this pull request Jun 7, 2020
Update ruby-recog to 2.3.8.


2.3.8 (2020-06-03)

Highlights:

* MariaDB and MySQL fingerprint improvements (#264, #267)
* Multiple fingerprint and consistency improvements by HD Moore (#260, #266)
* Kyocera Printer fingerprint improvements (#262)
jperkin pushed a commit that referenced this pull request Aug 17, 2020
Upstream changes:
1.36 - 19 May 2020
 - Fix pod error
 - Quieten perltidy syntax highlighting errors
 - Fix up minimum perl version (Dick Franks) (GH-268)
 - Fix passing full path for cover DB (GH-267)

1.35 - 17 May 2020
 - Replace "use vars" with "our" (James Raspass) (GH-255)
 - Remove tray db file from release
 - Don't chdir when given a -dir flag (Dave Rolsky) (GH-253)
 - Manage code references in @inc (Slaven Rezić) (GH-249, GH-250)

1.34 - 16 May 2020
 - Minimum supported version is now 5.10.0 (Karen Etheridge) (GH-226)
 - Support 5.32 by accomodating signauture changes (GH-260)
jperkin pushed a commit that referenced this pull request Sep 9, 2020
pkgsrc changes:
 - Fix a typo in DISTNAME/PKGNAME: it is now go-ffuf (instead of go-fuff)
 - Only installs bin/ffuf and its README
 - Reset MAINTAINERship, requested by <nikita>

Changes:
1.1.0
-----
 - Add unsupported arch/os to goreleaser ignore list (#267)
 - Release 1.1 (#266)
 - Fix crash with 3xx requests without location header (#265)
 - Update random seed logic (#262)
 - fix file get thing (#226)
 - Update CONTRIBUTORS.md to add bsysop (#258)
 - Fixed behavior of wordlist:keyword separator in Windows (#240)
 - Add Host information to JSON output file (#223)
 - Support outputting all file formats concurrently (#218)
 - Increase default rows per page on html report (#217)
 - Add the wordlists to the header information (#211)
 - Fix error with missing usage info (#195)
 - Feature178 (#186)
 - Fix for #193 (#194)
 - Fix for issue #179 (#180)
 - Prepare for 1.1.0-git (#176)
jperkin pushed a commit that referenced this pull request Oct 28, 2020
0.2.4
Features
-Highlight search query matches
-Add Similar tracks feature in context menu (#186)
-Create new empty playlist via command newplaylist (#272)
-Make volume up/down steps configurable via keybinding (#298)
-Show dialog when adding duplicate tracks to a playlist (#299)

Maintenance
-Replace directories with platform_dirs create (#285)
 (This moves the application folders to ~/.config/ncspot and ~/.cache/ncspot
 on macOS)
-Fix: handle overlapping texts when displaying longer titles/album names
-Make album column for tracks configurable (album_column) (fixes #267)
-Fix: update playlist changes in local store (fixes #302)
-Many third-party dependency updates
jperkin pushed a commit that referenced this pull request Dec 14, 2020
# processx 3.4.5

* New options in `pty_options` to set the initial size of the pseudo
  terminal.

* Reading the standard output or error now does not crash occasionally
  when a `\n` character is at the beginning of the input buffer (#281).

# processx 3.4.4

* processx now works correctly for non-ASCII commands and arguments passed
  in the native encoding, on Windows (#261, #262, #263, #264).

* Providing multiple environment variables now works on windows (#267).

# processx 3.4.3

* The supervisor (activated with `supervise = TRUE`) does not crash
  on the Windows Subsystem on Linux (WSL) now (#222).

* Fix ABI compatibility for pre and post R 4.0.1 versions. Now CRAN
  builds (with R 4.0.2 and later 4.0.x) work well on R 4.0.0.

* Now processx can run commands on UNC paths specified with
  forward slashes: `//hostname/...` UNC paths with the usual
  back-slashes were always fine (#249).

* The `$as_ps_handle()` method works now better; previously it
  sometimes created an invalid `ps::ps_handle` object, if the system
  clock has changed (#258).

# processx 3.4.2

* `run()` now does a better job with displaying the spinner on terminals
  that buffer the output (#223).

* Error messages are now fully printed after an error. In non-interactive
  sessions, the stack trace is printed as well.

* Further improved error messages. Errors from C code now include the
  name of the C function, and errors that belong to a process include the
  system command (#197).

* processx does not crash now if the process receives a SIGPIPE signal when
  trying to write to a pipe, of which the other end has already exited.

* processx now to works better with fork clusters from the parallel
  package. See 'Mixing processx and the parallel base R package' in the
  README file (#236).

* processx now does no block SIGCHLD by default in the subprocess,
  blocking potentially causes zombie sub-subprocesses (#240).

* The `process$wait()` method now does not leak file descriptors on
  Unix when interrupted (#141).
jperkin pushed a commit that referenced this pull request Jan 13, 2021
Changelog:
0.62
po4a tool:
 * Improve po_paths on misconfigurations, improve doc and error messages.

Asciidoc:
 * Unwrap all paragraphs by default (Github's #242).
   Introduce "forcewrap" option to re-enable line wrapping on output.
 * Support definition list continuations with indent (Github's #273)

DocBook:
 * Mark xreflabel attributes as translatable (GitHub's #267).

Documentation:
 * Fix some typos, thanks mestaritonttu.

Translations:
 * Updated: Croatian, thanks Milo Ivir.
 * Updated: Chinese (simplified), thanks taotieren.
 * Updated: Dutch, thanks Frans Spiesschaert.
 * Updated: French, thanks jmichault and Jean-Baptiste Holcroft.
 * Updated: German, thanks Helge Kreutzmann.
 * Updated: Hungarian, thanks Balázs Úr.
 * Updated: Italian, thanks Marco Ciampa.
 * Updated: Norwegian Bokmål, thanks Allan Nordhøy and Petter
   Reinholdtsen.
 * Updated: Portuguese, thanks Silvério Santos.
 * Updated: Portuguese (Brazil), thanks Rafael Fontenelle.
 * Updated: Russian, thanks Yuriy Balyuk and Artem.
 * Updated: Serbian (cyrillic), thanks Ivan Pesic.
 * Updated: Spanish, thanks Vladimir Támara Patiño and Emma Peel.
 * Updated: Ukrainian, thanks Yuri Chornoivan (українська).

Status of the binary translation:
 13 languages = 100%: de, es, fr, hr, hu, it, nb, nl, pt, pt_BR,
                      sr_Cyrl, uk, zh_CN.
 1 language  >= 90%: ru (91%).
 11 languages >= 50%: cs (61%), da (62%), eo (59%), et (66%), eu (60%),
                      id (61%), ja (66%), pl (66%), sl (59%), sv (64%),
                      vi (66%).
 1 language  >= 33%: ca (48%).
 5 starting languages: af (7%), ar (14%), kn (7%), ko (19%), zh_HK (3%).

Status of the documentation translation:
 4 languages = 100%: de, fr, pt_BR, uk.
 4 languages >= 95%: nl (99%), pt (99%), sr_Cyrl (99%), zh_CHS (99%).
 1 language  >= 80%: es (80%).
 2 languages >= 70%: ja (73%), pl (73%).
 2 languages >= 50%: it (64%), ru (61%).
 1 language  >= 33%: ca (47%).
 4 starting languages: eo (2%), hr (0%), hu (0%), nb (1%).

=======================================================================
0.61
po4a tool:
 * Robustify --srcdir and --destdir: When building the schroot package,
   these paths happen to be soft links to the same directory, making
   po4a believe that the POT file is specified twice (to the same value).
   po4a is now ignoring these dups (GitHub's #258).

Translations:
 * Updated: Chinese, thanks taotieren.
 * Updated: Czech, thanks to Michal Čihař.
 * Updated: Dutch, thanks Frans Spiesschaert.
 * Updated: French, thanks Jean-Baptiste and Martin Quinson.
 * Updated: German, thanks Helge Kreutzmann.
 * Updated: Portuguese, thanks Silvério Santos.
 * Updated: Portuguese (Brazil), thanks Rafael Fontenelle.
 * Updated: Serbian (cyrillic), thanks Ivan Pesic.
 * Updated: Ukrainian, thanks Yuri Chornoivan (українська).

Status of the binary translation:
  3 languages = 100%: fr, pt_BR, uk.
  6 languages >= 95%: de (98%), hr (98%), it (96%), nl (98%),
                      sr_Cyrl (98%), zh_CN (98%).
  2 languages >= 80%: hu (89%), ru (88%).
  3 languages >= 70%: es (77%), nb (71%), pt (79%).
 11 languages >= 50%: cs (62%), da (62%), eo (60%), et (67%), eu (61%),
                      id (62%), ja (67%), pl (67%), sl (60%), sv (65%),
		      vi (67%).
  1 language  >= 33%: ca (49%).
  1 language  >= 20%: ko (20%).
  4 starting languages: af (8%), ar (14%), kn (8%), zh_HK (3%).

Status of the documentation translation:
 3 languages = 100%: de, pt_BR, uk.
 1 language  >= 95%: nl (99%).
 1 language  >= 90%: pt (92%).
 1 language  >= 80%: fr (87%).
 3 languages >= 70%: es (78%), ja (74%), pl (73%).
 3 languages >= 50%: it (52%), ru (61%), sr_Cyrl (67%).
 1 language  >= 33%: ca (47%).
 1 language  >= 20%: zh_CHS (25%).
 3 starting languages: hr (0%), hu (0%), nb (1%).
jperkin pushed a commit that referenced this pull request Apr 26, 2021
0.2.13.0
* Add HashMap.compose. Thanks Alexandre Esteves.

0.2.12.0
* Add HashMap.isSubmapOf[By] and HashSet.isSubsetOf. Thanks Sven
  Keidel. (#282)
* Expose internal modules. (#283)
* Documentation improvements in Data.HashSet, including a
  beginner-friendly introduction. Thanks Matt Renaud. (#267)
* HashMap.alterF: Skip key deletion for absent keys. (#288)
* Remove custom unsafeShift{L,R} definitions. (#281)
* Various other documentation improvements.

0.2.11.0
* Add HashMap.findWithDefault (soft-deprecates
  HashMap.lookupDefault). Thanks, Matt Renaud.
* Add HashMap.fromListWithKey. Thanks, Josef Svenningsson.
* Add more folding functions and use them in Foldable
  instances. Thanks, David Feuer.
* Add HashMap.!?, a flipped version of lookup. Thanks, Matt Renaud.
* Add a Bifoldable instance for HashMap. Thanks, Joseph Sible.
* Add a HasCallStack constraint to (!). Thanks, Roman Cheplyaka.

Bug fixes
* Fix a space leak affecting updates on keys with hash
  collisions. Thanks, Neil Mitchell. (#254)
* Get rid of some silly thunks that could be left lying
  around. (#232). Thanks, David Feuer.

Other changes
* Speed up the Hashable instances for HashMap and HashSet. Thanks,
  Edward Amsden.
* Remove a dependency cycle hack from the benchmark suite. Thanks,
  Andrew Martin.
* Improve documentation. Thanks, Tristan McLeay, Li-yao Xia, Gareth
  Smith, Simon Jakobi, Sergey Vinokurov, and likely others.
jperkin pushed a commit that referenced this pull request Jun 21, 2021
* Prevent an AttributeError that occurs when a server returns HTTP 3xx
  but doesn't include a Location header as well. (#267)
* Prevent a TypeError crash that may occur when including a username and
  password in the feed URL. (#276)
* Prevent a UnicodeDecodeError crash that may occur when the title
  element's type attribute exists but is empty. (#277)
* Prevent a UnicodeEncodeError crash that may occur if the URL contains
  Unicode characters in the path. (#273)
* Fix an issue with the HTTP request status on Python >= 3.9.

Updating during the freeze for the bugfixes.
jperkin pushed a commit that referenced this pull request Jun 6, 2022
Release notes:
- Add GPU fields to plans printer (#269)
- Bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#266)
- Bump govultr version from 2.16.0 to 2.17.1 (#267)
- Release v2.14.1 #patch
- Update instance and kubernetes tag to str pointer (#268)
jperkin pushed a commit that referenced this pull request Oct 18, 2022
9.01:
- Fix library minor version (missing bump to 5.8).

9.00:
- Add support for AnyConnect "Session Token Re-use Anchor Protocol"
  (STRAP) (#410).
- Add support for AnyConnect "external browser" SSO mode (!354).
- On Windows, fix crash on tunnel setup. (#370, 6a2ffbb)
- Bugfix RSA SecurID token decryption and PIN entry forms, broken in
  v8.20. (#388, !344)
- Support Cisco's multiple-certificate authentication (!194).
- Append internal=no to GlobalProtect authentication/configuration
  forms, for compatibility with servers which apparently require this to
  function properly. (#246, !337)
- Revert GlobalProtect default route handling change from v8.20. (!367)
- Support split-exclude routes for Fortinet. (#394, !345)
- Add openconnect_set_useragent() function.
- Add webview callback and SAML/SSO support for AnyConnect,
  GlobalProtect. (!126).

8.20:
- When the queue length (-Q option) is 16 or more, try using vhost-net
  to accelerate tun device access.
- Use epoll() where available.
- Support non-AEAD ciphersuites in DTLSv1.2 with AnyConnect. (#249)
- Make tncc-emulate.py work with Python 3.7+. (#152, !120)
- Emulated a newer version of GlobalProtect official clients, 5.1.5-8;
  was 4.0.2-19 (!131)
- Support Juniper login forms containing both password and 2FA
  token (!121)
- Explicitly disable 3DES and RC4, unless enabled with
  --allow-insecure-crypto (!114)
- Add obsolete-server-crypto test (!114)
- Allow protocols to delay tunnel setup and shutdown (!117)
- Support for GlobalProtect IPv6 (!155 and !188; previous work in
  d6db0ec)
- SIGUSR1 causes OpenConnect to log detailed connection information and
  statistics (!154)
- Allow --servercert to be specified multiple times in order to accept
  server certificates matching more than one possible fingerprint
  (!162, #25)
- Add insecure debugging build mode for developers (!112)
- Demangle default routes sent as split routes by GlobalProtect (!118)
- Improve GlobalProtect login argument decoding (!143)
- Add detection of authentication expiration date, intended to allow
  front-ends to cache and reuse authentication cookies/sessions (!156)
- Small bug fixes and clarification of many logging messages.
- Support more Juniper login forms, including some SSO forms (!171)
- Automatically build Windows installers for OpenConnect command-line
  interface (!176)
- Restore compatibility with newer Cisco servers, by no longer sending
  them the X-AnyConnect-Platform header (#101, !175)
- Add support for PPP-based protocols, currently over TLS only (!165).
- Add support for two PPP-based protocols, F5 with --protocol=f5 and
  Fortinet with --protocol=fortinet (!169).
- Add experimental support for Wintun Layer 3 TUN driver under Windows
  (#231, !178).
- Clean up and improve Windows routing/DNS configuration script
  (vpnc-scripts!26, vpnc-scripts!41, vpnc-scripts!44).
- On Windows, reclaim needed IP addresses from down network interfaces
  so that configuration script can succeed (!178).
- Fix output redirection under Windows (#229)
- More gracefully handle idle timeouts and other fatal errors for
  Juniper and Pulse (!187)
- Ignore failures to fetch the Juniper/oNCP landing page if the
  authentication was successful (3e779436).
- Add support for Array Networks SSL VPN (#102)
- Support TLSv1.3 with TPMv2 EC and RSA keys, add test cases for swtpm
  and hardware TPM. (ed80bfac...ee1cd782)
- Add openconnect_get_connect_url() to simplify passing correct server
  information to the connecting openconnect process.
  (NetworkManager-openconnect #46, #53)
- Disable brittle "system policy" enforcement where it cannot be
  gracefully overridden at user request. (RH#1960763).
- Pass "portal cookie" fields from GlobalProtect portal to gateway to
  avoid repetition of password- or SAML-based login (!199)
- With --user, enter username supplied via command-line into all
  authentication forms, not just the first. (#267, !220).
- Fix a subtle bug which has prevented ESP rekey and ESP-to-TLS fallback
  from working reliably with the Juniper/oNCP protocol since v8.04.
  (#322, !293).
- Fix a bug in csd-wrapper.sh which has prevented it from correctly
  downloading compressed Trojan binaries since at least v8.00. (!305)
- Make Windows socketpair emulation more robust in the face of Windows's
  ability to break its localhost routes. (#228, #361, !320)
- Perform proper disconnect and routes cleanup on Windows when receiving
  Ctrl+C or Ctrl+Break. (#362, !323)
- Improve logging in routing/DNS configuration scripts. (!328,
  vpnc-scripts!45)
- Support modified configuration packet from Pulse 9.1R14 servers
  (#379, !331)
jperkin pushed a commit that referenced this pull request Jan 4, 2023
[0.17.0] - 2022-11-08
Features
    Add support for nested json syntax, see #217 (@ducaale)
    Add Support for bearer auth in .netrc, see #267 (@porglezomp)
    Support forcing ipv4/ipv6, see #276 (@zuisong)

Other
    Allow building xh using native-tls only, see #281 (@jirutka)
    Warn users when translating --follow + non GET method, see #280 (@jgoday)
jperkin pushed a commit that referenced this pull request May 5, 2023
Changelog:

v1.0.27 -- 24 Apr 2023
----------------------
Note: This release is not binary compatible with previous releases. It is source
 compatible.

- BookmarkStorage: allow empty bookmark names (as per spec) (fixes #300)
- MUCRoom: added send( message, subject, StanzaExtensionList ) (fixes #301)



v1.0.26 -- 19 Mar 2023
----------------------
- MUCRoom: init m_session (fixes #293)
- TLSOpenSSL: use system certificates for verification (fixes #292)
- ConnectionTCPServer: compilation fix for musl (fixes #291)



v1.0.25 -- 16 Mar 2023
----------------------
- compile fixes for modern compilers
- Tag: expose internal NodeList for optional XHTML-IM rendering without external
 parser; compile with --enable-xhtmlim (fixes #297)
- enabled/fixed support for TLS 1.3



v1.0.24 -- 14 Jul 2020
----------------------
Note: This release is not binary compatible with previous releases. It is source
 compatible.

- Tag: fixed XML namespace for attribute with empty namespace (fixes #278) (than
ks to drizt72)
- PubSub::Event: add simple ctor (thanks to Daniel Kraft)
- PubSub::Manager: fixed subscription error case handling (thanks to Daniel Kraf
t)
- PubSub: fixed support for instant nodes
- RosterManager: fixed behavior if subscription attribute is absent in roster it
em



v1.0.23 -- 08 Dec 2019
----------------------
- fixed a memory leak in dns.cpp (thanks to Daniel Kraft)
- fixed session management/stream resumption (thanks to Michel Vedrine, François
 Ferreira-de-Sousa, Frédéric Rossi)
- MUCRoom::MUCUser: include reason if set
- ClientBase: fix honorThreadID (first noticed by Erik Johansson in 2010)
- TLSGnuTLS: disabled TLS 1.3 for now, as there are connection issues with it



v1.0.22 -- 04 Jan 2019
----------------------
- TLSOpenSSLBase: conditionally compile in TLS compression support only if available in OpenSSL (fixes #276) (thanks to Dominyk Tiller)
- TLSGNUTLS*Anon: fix GnuTLS test by explicitely requesting ANON key exchange algorithms (fixes #279) (thanks to elexis)
- TLSGNUTLSClient: fix server cert validation by adding gnutls_certificate_set_x509_system_trust() (fixes #280) (thanks to elexis)
- DNS: fix compilation on OpenBSD sparc64 (fixes #281) (thanks to Anthony Anjbe)
- Enable getaddrinfo by default (fixes #282) (thanks to Filip Moc)



v1.0.21 -- 12 Jun 2018
----------------------
- InBandBytestream: error handling corrected
- doc fix: CertInfo::date_from/to set correctly when using OpenSSL



v1.0.20 -- 26 Feb 2017
----------------------
Note: This release is not binary compatible with previous releases. It is source compatible.

- BytestreamDataHandler: added callback for acknowledged packets
- ConnectionTCPClient: compile fix for Win32 (broken in 1.0.19)
- ConnectionTCPClient: no-block fix
- use ws2_32.lib instead of ws_32.lib on Win32



v1.0.19 -- 21 Feb 2017
----------------------
Note: This release is not binary compatible with previous releases. It is source compatible.

- ConnectionTCPServer: cleanup
- lots of compile-time warnings removed
- TLSOpenSSL: made it speak TLSv1.1 and 1.2 again (thanks to Nicolas Belouin)
- added Client State Indication (XEP-0352)
- CertInfo struct: fixed protocol version when using OpenSSL
- TLSOpenSSL: fixed compilation with OpenSSL 1.1.0
- Registration: added Resource Constraint error condition (thanks to elexis1987) (#267)
- ConnectionTCP: fixed some blocking (thanks to Marco Ciprietti)



v1.0.18 -- 10 Nov 2016
----------------------
- TLSOpenSSL: fixed wildcard certificate support (#262)
- Pubsub::Event: fixed potential NULL dereference (#257)
- ConnectionTCPServer: fixed listening on local socket
- Adhoc: fixed memory leak (thanks to Erik Horemans)
- documentation fixes (Adhoc::Plugin, StanzaExtension)
- ConnectionTLS: delete old connection in setConnectionImpl() (thanks to Erik Horemans) and clarify this in the documentation
- Tag: Android compilation fix (thanks to Erik Horemans)
- ConnectionSOCKS5Proxy: improved compatibility (thanks to Erik Horemans)
- util: Android compilation fix (thanks to Erik Horemans)
- Client, ClientBase: avoid 'from' attribute when doing resource binding (#265)
- MUCRoom: allow empty message body if extension is present (#264) (thanks to Tom Quackenbush)
- ConnectionBOSH: initialize 'hold' to 1 to improve compatibility (#238)
- ConnectionTCPServer: actually accept incoming connections
jperkin pushed a commit that referenced this pull request Jun 11, 2023
1.56      2023-05-29 14:56:23-07:00 America/Los_Angeles
	* Replaced Tradeville.pm with BVB.pm - Issue #269
	* Added new TwelveData module
	* Updated YahooJSON.pm and CurrencyRates/YahooJSON.pm to use https://query2.finance.yahoo.com/v11 - PR #284
	* Bourso.pm - Squash anything but numbers and period in quote values.
	* Renamed MStarUK.pm to MorningstarUK.pm
	* Added get_features method - PR #260

1.55      2023-05-13 12:22:00-07:00 America/Los_Angeles
	* Added YahooJSON currency rate module PR #270
	* Added TRV => CAD in AlphaVantage.pm. Issue #265 - PR #267
	* Quick fix for YahooJSON.pm API
	* URL Change for MorningstarJP. Issue #261
	* Regex fix in FTfunds.pm and changed test cases ftfunds.t. PR #262

1.54      2022-12-26 15:25:02-08:00 America/Los_Angeles
	* Fix to AEX.pm - Issue #235 - PR #244
	* New modules Sinvestor.pm Tradegate.pm and XETRA.pm PR #243
	* Updates to TMX.pm (Toronto Stock Exchange) PR #248 and #253
	* Reverted API change (PR #230) in
	  CurrencyRates/AlphaVantage.pm PR #249
	* Fix to Fondsweb.pm PR #250
jperkin pushed a commit that referenced this pull request Jul 7, 2023
Changelog:
This release adds a script for bash autocompletion for nsd-control. Also
nsd-control can be configured to use unencrypted operation also when
compiled without openssl. There is also a systemd service unit example
file contributed. The dnstap log service can be contacted over TCP, with
the dnstap-ip: ip option. It is also possible to use TLS, with
dnstap-tls, it is enabled by default, and can be configured with the
dnstap-server-name, dnstap-cert-bundle, dnstap-client-key-file and
dnstap-client-cert-file options. The configure option
--enable-root-server is obsolete, it is no longer used and defaults to
on. In addition, the build file should support multicore build with
flex and bison more easily.

FEATURES:

    Merge #263: Add bash autocompletion script for nsd-control.
    Fix #267: Allow unencrypted local operation of nsd-control.
    Merge #269 from Fale: Add systemd service unit.
    Fix #271: DNSTAP over TCP, with dnstap-ip: "127.0.0.1@3333".
    dnstap over TLS, default enabled. Configured with the
    options dnstap-tls, dnstap-tls-server-name, dnstap-tls-cert-bundle,
    dnstap-tls-client-key-file and dnstap-tls-client-cert-file.

BUG FIXES:

    Fix #239: -Wincompatible-pointer-types warning in remote.c.
    Fix configure for -Wstrict-prototypes.
    Fix #262: Zone(s) not synchronizing properly via TLS.
    Fix for #262: More error logging for SSL read failures for zone
    transfers.
    Merge #265: Fix C99 compatibility issue.
    Fix #266: Fix build with --without-ssl.
    Fix for #267: neater variable definitions.
    Fix #270: reserved identifier violation.
    Fix to clean more memory on exit of dnstap collector.
    Fix dnstap to not check socket path when using IP address.
    Fix to compile without ssl with dnstap-tls code.
    Dnstap tls code fixes.
    Fix include brackets for ssl.h include statements, instead of quotes.
    Fix static analyzer warning about nsd_event_method initialization.
    Fix #273: Large TXT record breaks AXFR.
    Fix ixfr create from adding too many record types.
    Fix cirrus script for submit to coverity scan to libtoolize
    the configure script components config.guess and config.sub.
    Fix readme status badge links.
    make depend.
    Fix for build to run flex and bison before compiling code that needs
    the headers.
    Fix to remove unused whitespace from acx_nlnetlabs.m4 and config.h.
    For #279: Note that autoreconf -fi creates the configure script
    and also the needed auxiliary files, for autoconf 2.69 and 2.71.
    Fix unused variable warning in unit test, from clang compile.
    Fix #240: Prefix messages originating from verifier.
    Fix #275: Drop unnecessary root server checks.
jperkin pushed a commit that referenced this pull request Sep 1, 2023
2.6.4 (2023-08-25)

* If a task returns an exception value, do not raise it in #wait. (#270)
* Minor improvement to test performance.
* Test multiple process waits. (#273)
* Failing timeout while getting from stdin. (#266)
* Fix handling of TimeoutError in io_wait. (#274)
* Add test for blocking IO#gets in task. (#267)
jperkin pushed a commit that referenced this pull request Nov 9, 2023
[1.0.0] - 2023-11-07

A quick note to any packages. The generated shell completions and man page are
now in the gen directory of the repo. They're also included in the pre-built
release artifacts on the releases page.

Improvements
 #115 Do not replace symlink with output file (@SimplyDanny)
      Fixes an issue where a symlink would be replaced with a regular file
 #124 Fix tests (@Linus789)
      Removed displaying the file path when passing the --preview flag and fixed how text coloring was handled in tests

Breaking
 #192 Rename --string-mode to --fixed-strings (@CosmicHorrorDev)
      Renamed -s --string-mode to -f --fixed-strings to better match similar
      tools
      -s and --string-mode will still continue to work for backwards
      compatibility, but are no longer documented
 #258 Error on $<num><non_num> capture replacement names (@CosmicHorrorDev)
      Previously when you tried to use a numbered capture group right before
      some letters in the replacement text (e.g. $1foo) then it would be
      considered the impossible-to-use 1foo capture. The correct way to pass
      the numbered capture group in this case would be to surround the number
      with curly braces like so ${1}foo. The error just detects this case and
      informs the user of the issue

Docs
 #93 Add note about in-place file modification to --help output (@jchook)
 #148 Doc: nitpick -- has no special meaning to shells (@hexagonrecursion)
 #181 Fix man page -f flag help text (@ulope)
      Fixed copy-pasted text in the man page's -f flag's help text
 #186 Improve error message for failed replacements (@CosmicHorrorDev)
 #187 Freshen up README (@CosmicHorrorDev)
      Added a repology badge to document different installation methods
      Improved the formatting of the benchmarks
 #207 Documenting $ escape (@yahkbar)
      Adds a section in the README that covers that $$ is a literal $ in the
      replacement text
 #227 Improve README readability (@vassudanagunta)
      Various formatting improvements
 #231 Use clap_mangen and roff to generate manpage (@nc7s)
      This change ensures the man page contents stay in sync with the CLI
      automatically, and fixes some broken rendering of the existing manpage
 #243 Exclude unsupported packages from the repology badge (@CosmicHorrorDev)

Pre-built Releases
 (11295fb) Add ARM target (@chmln)
           Added the arm-unknown-linux-gnueabihf target to CI and releases
 #114 Adding aarch64-apple-darwin target (@yahkbar)
 #143 Fix paths to release binary in "publish" action (@skrattaren)
 #179 Build Adjustments (@yahkbar)
      striped release binaries and added the aarch64-ubuntu-linux-musl target
 #204 Adding armv7-unknown-linux-gnueabihf target (@yahkbar)
      Added the armv7-unknown-linux-gnueabihf target to the list of targets to
      build in CI and for each release
 #205 Resolving broken aarch64-apple-darwin tests (@yahkbar)
      Switched aarch64-apple-darwin to only try building the executable without
      running the tests since there seems to be no easy way to test for ARM
      Apple targets
 #206 Adding Windows builds back (@yahkbar)
      Added the x86_64-pc-windows-gnu and x86_64-windows-musl targets back to
      the list of targets to build in CI and for each release

Internal
 #118 Fix master (@SimplyDanny)
      Fixes several cross-compilation issues that effected different targets
      in CI
 #182 cargo update (@CosmicHorrorDev)
      Bumps dependencies to their latest compatible versions
 #183 Switch memmap -> memmap2 (@CosmicHorrorDev)
      Switches away from an unmaintained crate
 #184 Add editor config file matching rustfmt config (@CosmicHorrorDev)
      Adds an .editorconfig file matching the settings listed in the
      .rustfmt.toml file
 #185 Fix warnings and clippy lints (@CosmicHorrorDev)
 #188 Switch atty for is-terminal (@CosmicHorrorDev)
      Switches away from an unmaintained crate
 #189 Replace structopt with clap v4 (@CosmicHorrorDev)
      Switches away from a defacto deprecated crate
 #190 Change how all shell variants are expressed (@CosmicHorrorDev)
      Tiny tidying up PR
 #196 Move generating static assets to a cargo-xtask task (@CosmicHorrorDev)
      Moves the generation of the man page and shell completions from a build
      script to a cargo-xtask task
 #197 Add a release checklist (@CosmicHorrorDev)
 #209 Dependency updates (@yahkbar)
 #235 Update generated assets (@CosmicHorrorDev)
 #236 Tone down dependabot (@CosmicHorrorDev)
 #245 Update sd to 2021 edition (@CosmicHorrorDev)
      Updates sd to the Rust 2021 edition
 #248 Misc Cargo.toml tweaks (@CosmicHorrorDev)
      Switches to use workspace edition and dependencies where appropriate
 #249 Resolve CI warnings (@CosmicHorrorDev)
      Switched from actions-rs actions to dtolnay@rust-toolchain
      Switched from using ::set-output to $GITHUB_ENV
 #251 Update dependencies (@CosmicHorrorDev)
 A lot of sad CI tweaking:
      #252 Fix build target usage in CI (@CosmicHorrorDev)
      #253 Improve publishing CI job (@CosmicHorrorDev)
      #256 More CI tweaks (@CosmicHorrorDev)
      #257 Fix publish action (@CosmicHorrorDev)
 #267 Rework the replacements flag (@CosmicHorrorDev)
 #269 Make modified text blue instead of green (@CosmicHorrorDev)
 #271 Fix release checklist indentation (@CosmicHorrorDev)
 #272 Remove outdated release checklist step (@CosmicHorrorDev)
 #274 Prepare 1.0.0-beta.0 release (@CosmicHorrorDev)
 #275 Update sd version in lockfile (@CosmicHorrorDev)
jperkin pushed a commit that referenced this pull request Dec 4, 2023
Highlights
v0.16.0 is a big release with some new features:

 - CLI now doesn't require a running instance to handle commands (#290)
 - add file cache support for user's data (liked tracks, saved albums, followed
   artists, etc) (#306)
 - add support for opening a Spotify link from clipboard (#307)

What's Changed
 - Add Scoop installation instruction to Readme by @rashil2000 in #263
 - Improve lyrics lookup by removing remix & remaster info in query.
   by @Icelk in #266
 - Fix typos by @kianmeng in #267
 - fix: missing https for song links by @sjdonado in #269
 - map media control Pause and Resume to PlayerRequests by @SebRollen in #272
 - Allow shuffling context playback from CLI by @rudiejd in #275
 - add explicit tags to track information by @SebRollen in #276
 - Clamped progress bars to solve problems with -ve numbers
   by @whiskyplausible in #274
 - Miscellaneous refactor and improvement by @aome510 in #287
 - use track's id of linked_from if exists by @aome510 in #286
 - Support handling CLI commands without a running application instance
   by @aome510 in #290
 - Allow disabling notify when client is not streaming by @VenMolom in #298
 - support disabling notification from config by @aome510 in #303
 - bind C-z to AddSelectedItemToQueue by @aome510 in #304
 - Cache user's data into files (liked tracks, saved albums, followed artists,
   etc) by @aome510 in #306
 - Support open spotify link by @aome510 in #307
jperkin pushed a commit that referenced this pull request Jan 9, 2024
What's Changed
 - Update Ratatui to 0.25 + Update dependencies by @AmmarAbouZor in #261
 - Chore: Bump thiserror from 1.0.51 to 1.0.52 by @dependabot in #263
 - Ignore key events of types other than press by @AmmarAbouZor in #267
jperkin pushed a commit that referenced this pull request Mar 26, 2024
Hello all! This will likely be the final release of Amfora.
For more information, please see my blog post, https://www.makeworld.space/2023/08/bye_gemini.html

Thanks to all the users and especially the contributors, who made this project
the personal success it was for me.

The following is copied from the CHANGELOG.md file in this repo.
Added
    Syntax highlighting for preformatted text blocks with alt text (#252, #263, wiki page)
    Client certificates can be restricted to certain paths of a host (#115)
    header config option in [subscriptions] to allow disabling the header text on the subscriptions page (#191)
    Selected link and scroll position stays for non-cached pages (#122)
    Keybinding to open URL with URL handler instead of configured proxy (#143)
    include theme key to import themes from an external file (#154, #290)
    Support SOCKS5 proxying by setting AMFORA_SOCKS5 environment variable (#155)
    When bookmarking a page, the first level one heading is suggested as the name (#267, #293)
    Confirmation prompts for URL schemes in new [url-prompts] config section (#301, #302)

Changed
    Center text automatically, removing left_margin from the config (#233)
    max_width defaults to 80 columns instead of 100 (#233)
    Tabs have the domain of the current page instead of numbers (#202)
    Closing Amfora with q was removed in favor of Shift-q (#243)
    Paging up or down scrolls by 50% instead of 75%, to match less (#303)
    Update deps, require Go 1.17 (#336)
    Show local directory index file if available (#319)
    Updated Project Gemini URLs (#342)

Fixed
    Modal can't be closed when opening non-gemini text URLs from the commandline (#283, #284)
    External programs started by Amfora remain as zombie processes (#219)
    Prevent link lines (and other types) from being wider than the max_width setting (#280)
    new:7 on new tab page fails to open link (#306)
    Slashes aren't decoded in redirect URLs (#322, #324)
    Typing localhost in the bottom bar actually loads localhost instead of searching (#326, #327)
jperkin pushed a commit that referenced this pull request Jun 4, 2024
3.3.8 (2024-05-16)

* Land #267, Add more LSA functions; add OpenPolicy and QueryInfoPolicy
  LSARPC implementations.
jperkin pushed a commit that referenced this pull request Jul 1, 2024
Upstream changes:
4.66 2024-06-04

    [ FIX ]
    - Restore trailing slashes in the ->url call (GH #267)

4.65 2024-06-04

    [ TESTING ]
    - "fix" t/url.t for older Perls (GH #266)
jperkin pushed a commit that referenced this pull request Aug 7, 2024
Changelog for rest-server 0.13.0 (2024-07-26)
============================================

The following sections list the changes in rest-server 0.13.0 relevant
to users. The changes are ordered by importance.

Summary
-------

 * Chg #267: Update dependencies and require Go 1.18 or newer
 * Chg #273: Shut down cleanly on TERM and INT signals
 * Enh #271: Print listening address after start-up
 * Enh #272: Support listening on a unix socket

Details
-------

 * Change #267: Update dependencies and require Go 1.18 or newer

   Most dependencies have been updated. Since some libraries require newer language
   features, support for Go 1.17 has been dropped, which means that rest-server now
   requires at least Go 1.18 to build.

   restic/rest-server#267

 * Change #273: Shut down cleanly on TERM and INT signals

   Rest-server now listens for TERM and INT signals and cleanly closes down the
   http.Server and listener when receiving either of them.

   This is particularly useful when listening on a unix socket, as the server will
   now remove the socket file when it shuts down.

   restic/rest-server#273

 * Enhancement #271: Print listening address after start-up

   When started with `--listen :0`, rest-server would print `start server on :0`

   The message now also includes the actual address listened on, for example `start
   server on 0.0.0.0:37333`. This is useful when starting a server with an
   auto-allocated free port number (port 0).

   restic/rest-server#271

 * Enhancement #272: Support listening on a unix socket

   It is now possible to make rest-server listen on a unix socket by prefixing the
   socket filename with `unix:` and passing it to the `--listen` option, for
   example `--listen unix:/tmp/foo`.

   This is useful in combination with remote port forwarding to enable a remote
   server to backup locally, e.g.:

   ```
   rest-server --listen unix:/tmp/foo &
   ssh -R /tmp/foo:/tmp/foo user@host restic -r rest:http+unix:///tmp/foo:/repo backup
   ```

   restic/rest-server#272


Changelog for rest-server 0.12.1 (2023-07-09)
============================================

The following sections list the changes in rest-server 0.12.1 relevant
to users. The changes are ordered by importance.

Summary
-------

 * Fix #230: Fix erroneous warnings about unsupported fsync
 * Fix #238: API: Return empty array when listing empty folders
 * Enh #217: Log to stdout using the `--log -` option

Details
-------

 * Bugfix #230: Fix erroneous warnings about unsupported fsync

   Due to a regression in rest-server 0.12.0, it continuously printed `WARNING:
   fsync is not supported by the data storage. This can lead to data loss, if the
   system crashes or the storage is unexpectedly disconnected.` for systems that
   support fsync. We have fixed the warning.

   restic/rest-server#230
   restic/rest-server#231

 * Bugfix #238: API: Return empty array when listing empty folders

   Rest-server returned `null` when listing an empty folder. This has been changed
   to returning an empty array in accordance with the REST protocol specification.
   This change has no impact on restic users.

   restic/rest-server#238
   restic/rest-server#239

 * Enhancement #217: Log to stdout using the `--log -` option

   Logging to stdout was possible using `--log /dev/stdout`. However, when the rest
   server is run as a different user, for example, using

   `sudo -u restic rest-server [...] --log /dev/stdout`

   This did not work due to permission issues.

   For logging to stdout, the `--log` option now supports the special filename `-`
   which also works in these cases.

   restic/rest-server#217
github-actions bot pushed a commit that referenced this pull request Nov 24, 2024
0.6.6 - 2024-11-19
Added

    PR#268 resolved #267 by adding a unicode-ident workaround to compensate for the LICENSE-UNICODE file more closely matching the Unicode-3.0 SPDX identifier rather than the expected Unicode-DFS-2016 one.

0.6.5 - 2024-11-18
Added

    PR#261 resolved #246 by adding an --offline (as well as --locked and --frozen) option to the generate command.
    PR#266 resolved #230 by adding a --target option to generate, allowing one to specify one or more targets to filter the dependency graph by, overriding the targets configuration option.

Changed

    PR#262 resolved #258 by using LTO for release builds, slightly decreasing binary sizes.

Fixed

    PR#263 resolved #238 by adding the native-certs feature to use the native certificate store. This feature is not enabled by default as it is only required for corporate environments that man in the middle network traffic.
    PR#265 resolved #198 by detecting if the parent process is powershell and exiting with an error if cargo-about's output is being redirected instead of using the -o option, as powershell is terrible and doesn't use utf-8 encoding by default.
    PR#266 resolved #222 by adding some additional documentation on https://clearlydefined.io.
github-actions bot pushed a commit that referenced this pull request Dec 12, 2024
Fixes

    Fixed show/hide for "Added" column not being properly saved (#219, #267).
    Fixed some crashes related to starting Spotify client (#251, #252).
    Fixed search not loading results properly (#268).
    Fixed showing "0 tracks" in album context menu for non-cached albums until loaded.
    Fixed showing empty invalid playlists in the list of playlists.
    Fixed layout breaking on long status messages.
    Fixed sometimes showing a failed status for successful actions.

Changes

    Track and artist can now be clicked in now playing preview (#253).
    Added option to like albums from context menu (#255).
    Improved performance when loading artist albums.
    Added support for setting custom window and tray icon titles.
    Reworked "New Releases" to fetch everything as albums.
    Improved performance when loading album tracks.
    Removed support for saving passwords, as it's no longer supported.
    Removed optional libsecrets dependency.
    Added support for new OAuth authentication.
    Now requires librespot v0.5.0 or newer.
    Removed deprecated "Audio features".
    Improved performance when loading playlists.
    Now shows "Open/Close" in tray icon when "Close to tray" is enabled.
    Improved error messages from Spotify client.
    No longer shows "Related" artists when not available.
github-actions bot pushed a commit that referenced this pull request Dec 16, 2024
# bslib 0.8.0

## Breaking changes

* To help reduce the potential for squashed content, the main content
  area of `page_sidebar()` and `page_navbar()` with a `sidebar` now
  have a (customizable) minimum height and width on a "medium-sized"
  window. To revert to previous behavior, set `theme =
  bs_theme("bslib-page-main-min-height" = "unset",
  "bslib-page-main-min-width" = "unset")`. (#1057, #1059, #1084)

* `card_image()` had a couple breaking changes (#1076):

  * `fill` now defaults to `FALSE` to avoid stretching/shrinking the
    image vertically (and thus, changing it's aspect ratio). To
    restore the previous behavior, set `fill = TRUE`.

  * `container` now defaults to `NULL` instead of `card_body`. As a
    result, `card_image()` no longer has padding around it, making it
    easier to create "full-bleed" card images ([for
    example](https://getbootstrap.com/docs/5.3/components/card/#images)). To
    restore the previous behavior, wrap `card_image()` in a
    `card_body()`.

## New features

* `card_image()` gains several new features (#1076):

    * `alt` is now a formal argument and is set to `""` by
      default. This default value marks images as decorative; please
      describe the image in the `alt` attribute if it is not
      decorative.

    * `border_radius` now defaults to `"auto"` by default, in which
      case the image's position in the card will automatically
      determine whether it should receive the `.card-img-top` (first
      child), `.card-img-bottom` (last child) or `.card-img` (only
      child).

    * `file` is designed to accept a path to a local (server-side)
      file, but now recognizes remote files that start with a protocol
      prefix, e.g. `https://`, or two slashes, e.g. `//`. Local files
      are base64-encoded and embedded in the HTML output, while remote
      files are linked directly. To use a relative path for a file
      that will be served by the Shiny app, use `src` instead of file,
      e.g. `card_image(src = "cat.jpg")` where `cat.jpg` is stored in
      `www/`.

* The `open` argument of `sidebar()` now includes the option to place
  a sidebar that's always open on mobile screens _above the main
  content_ with `open = list(mobile = "always-above")`. (#1088)

## Improvements

* Adjusted the border color of checkbox and radio buttons to match the
  border color of the input group in
  `bs_theme(preset="shiny")`. (#1038)

* On mobile, the main and sidebar content areas of a
  `layout_sidebar()` no longer overlap with the sidebar toggle
  button. (#1084)

* bslib now re-exports `htmltools::css()` to make it easier to specify style
  declarations. (#1086)

* Example apps provided with bslib have now moved from `examples` to
  `examples-shiny` to take advantage of the new `package` argument in
  `shiny::runExample()` with shiny >= 1.8.1. For example, try
  `shiny::runExample("build-a-box", package = "bslib")`. (#1049)

## Bug fixes

* `toggle_sidebar()` once again correctly closes a
  sidebar. (@fredericva, #1043)

* bslib now avoids re-defining its components when used in a context
  where they are already available, e.g. in a Quarto
  dashboard. (#1045)

* Improved the appearance of cards with sidebars and headers in the
  Shiny preset, especially when custom card color themes are used,
  e.g. with `text-bg-primary` or other Bootstrap utility
  classes. (#1056)

* When `card_body(fillable = FALSE)`, bslib now preserves flow-layout
  margin bottom settings. (#1073)

* Fixed a bug in `layout_sidebar()` that caused a spurious and
  confusing error message. (#1081)

# bslib 0.7.0

This large release includes many improvements and bug fixes for newer
UI components like `layout_columns()`, `card()`, and `sidebar()`. In
addition, the new `input_task_button()` offers a drop-in replacement
for `shiny::actionButton()` (to prevent multiple submissions of the
same operation) as well as pairing nicely with the new
`shiny::ExtendedTask` for implementing truly non-blocking operations
in Shiny.

## New features

* Added `input_task_button()`, a replacement for
  `shiny::actionButton()` that automatically prevents an operation
  from being submitted multiple times. It does this by, upon click,
  immediately transitioning to a "Processing..." visual state that
  does not let the button be clicked again. The button resets to its
  clickable state automatically after the reactive flush it causes is
  complete; or, for advanced scenarios, `update_task_button()` can be
  used to manually control when the button resets.

* Both `card()` and `value_box()` now take an `id` argument that, when
  provided, is used to report the full screen state of the card or
  value box to the server. For example, when using `card(id =
  "my_card", full_screen = TRUE)` you can determine if the card is
  currently in full screen mode by reading the boolean value of
  `input$my_card_full_screen`. (#1006, #1032)

## Changes & improvements

* For `sidebar()`:

  * The page-level `sidebar` for `page_sidebar()`/`page_navbar()` is
    now always open (and not collapsible) by default on mobile
    screens. To revert to the old behavior, set `open = "desktop"` in
    the `sidebar`. (#943)

  * `open` now accepts a list with `mobile` and `desktop` values to
    control the sidebar's initial state on each screen size, choosing
    from `"open"`, `"closed"`, or `"always"` (for an always-open
    sidebar that cannot be collapsed). (#943)

  * The collapse toggle now has a high `z-index` value to ensure it
    always appears above elements in the main content area. The
    sidebar overlay also now receives the same high `z-index` on
    mobile layouts. (#958)

* Improved `card(full_screen = TRUE, ...)` accessibility:

  * Full-screen cards are now supported on mobile devices: the _Expand
    card_ button is revealed when a user taps on the card (thanks
    @Damonsoul, #961).

  * The _Expand card_ button is now accessible via keyboard navigation
    and appropriate ARIA attributes connect the card with the expand
    and close buttons.

  * For JavaScript-oriented users, the expansion/collapse is now
    accompanied by a custom `bslib.card` event with the full screen
    state reported in the `event.detail.fullScreen` property. (#959)

* Improvements to the default theme (i.e., Shiny preset):

  * In the default theme, cards now use a slightly smaller shadow and
    the same shadow style is also now used by popovers. (#998)

  * Increased spacing between elements. This change is most noticeable
    in the `layout_columns()` or `layout_column_wrap()` component. In
    these and other components, you can use `gap` and `padding`
    arguments to choose your own values, or you can set the
    `$bslib-spacer` (Sass) or `--bslib-spacer` (CSS) variable. (#998)

* For `layout_columns()`:

  * `col_widths` now sets the `sm` breakpoint by default, rather than
    the `md` breakpoint. For example, `col_widths = c(12, 6, 6)` is
    now equivalent to `breakpoints(sm = c(12, 6, 6))` rather than
    `breakpoints(md = c(12, 6, 6))`. (#1014)

  * When `col_widths` has a `breakpoints()` at `lg` or wider, it now
    uses a better default column width for the smaller breakpoints not
    listed in the `col_widths` value. That said, you can always
    include `sm` or `md` in your `breakpoints()` definition to have
    complete control over column widths at those sizes. (#931)

  * When `row_heights` is a non-`breakpoints()` object, that value is
    used for the row heights at all breakpoints. Previously, it was
    used for the row heights from `"sm"` up. (#931)

  * When an integer value for any breakpoint is provided to
    `col_widths`, a 12-unit grid is always used. For example,
    `breakpoints(md = 3, lg = NA)` will pick a best-fitting layout for
    large screen sizes using the 12-column grid. Previously, the best
    fit algorithm might adjust the number of columns as a shortcut to
    an easy solution. That shortcut is only taken when an auto-fit
    layout is requested for every breakpoint, e.g. `col_widths =
    breakpoints(md = NA, lg = NA)` or `col_widths = NA`. (#928)

  * Underlying logic moved from R to Typescript to improve the
    portability of the component. (#931)

* `value_box()`, `layout_columns()` and `layout_column_wrap()` now all
  have `min_height` and `max_height` arguments. These are useful in
  filling layouts, like `page_fillable()`, `page_sidebar(fillable =
  TRUE)` or `page_navbar(fillable = TRUE)`. For example, you can use
  `layout_columns(min_height = 300, max_height = 500)` to ensure that
  a set of items (likely arranged in a row of columns) are always
  between 300 and 500 pixels tall. (#1016)

* `page_sidebar()` now places the `title` element in a `.navbar`
  container that matches the structure of `page_navbar()`. This
  ensures that the title elements of `page_sidebar()` and
  `page_navbar()` have consistent appearance. (#998)

* `as_fillable_container()`, `as_fill_item()` and `as_fill_carrier()`
  now always include the htmltools fill CSS dependency. This means
  that they are no longer usable with the `$addAttr()`
  `htmltools::tagQuery` method; authors should instead pass elements
  to the `as_fillable_container()` and `as_fill_*()` functions and use
  the `css_selector` argument to apply fill options to specific
  elements. (#946)

## Bug fixes

* Fixed an issue where the page might be given a window title of `NA`
  if the primary `title` argument of a page function, such as
  `page_sidebar()`, is `NULL` or a suitable window title could not be
  inferred. (#933)

* `card()`s (and `value_box()`s) now correctly exit full screen mode
  when they are removed from the UI.  If you want to update a card
  without potentially exiting the full-screen mode, update specific
  parts of the card using `uiOutput()` or `textOutput()`. (#1005)

* Fixed a handful of `update_popover()` bugs. (#747, #1017)

* `tooltip()` and `popover()` now work as expected when inserted into
  a navbar/navset via `nav_insert()`. (#1020)

* `uiOutput()` and `conditionalPanel()` no longer result in unwanted
  double padding when their parent container uses `gap` for spacing
  multiple elements (e.g., `layout_columns()`, `page_fillable()`,
  etc). (#992, #1031)

* `page_navbar()` and `navset_bar()` now validate and transform
  `padding` and `gap` arguments into appropriate CSS values. (#991)

* Fixed an issue where the `xs` breakpoint in a `breakpoints()` object
  used for `row_heights` in `layout_columns()` would override all
  other breakpoints. (#1014)

# bslib 0.6.2

Increased the version requirement on the `{sass}` package to 0.4.9. As
a result, `font_google(local=TRUE)` should no longer fail to download
font files.

# bslib 0.6.1

## Bug fixes

* Fixed the CSS for the `bslib-page-dashboard` class in the Shiny
  preset to correctly support `page_sidebar(class =
  "bslib-page-dashboard")` and `page_navbar(nav_panel(class =
  "bslib-page-dashboard"))`. (#917)

* Fixed a minor bug to allow the themer demo to be run directly,
  outside of `bs_theme_preview()`. (#918)

# bslib 0.6.0

## Breaking changes

* `bs_theme()` now defaults to `preset="shiny"`. This provides an
  additional set of theming defaults and rules that make it easier to
  create Shiny apps (in particular, dashboards) that look good out of
  the box. To revert to the previous behavior, set
  `bs_theme(preset="bootstrap")`. (#711)

* `value_box()` no longer defaults to `theme_color = "primary"`. To
  restore the previous behavior, please use `theme = "primary"`. In
  addition to the default style change, the `theme_color` is now
  deprecated in favor of `theme`. (#758)

* `page_navbar()` now defaults to `underline = TRUE`, meaning that
  navigation links in the navbar now have underline styling by default
  (set `underline = FALSE` to revert to previous behavior). (#784)

* `page()` now returns a `<body>` tag instead of `tagList()`. This
  change allows `page()` to treat named arguments as HTML attributes
  for the `<body>` tag, making it possible to add page-level classes
  or other attributes. (#809)

* The JS/CSS assets behind `{bslib}` components (e.g., `card()`,
  `value_box()`, etc) are all now bundled into one `htmlDependency()`
  and included with the return value of `bs_theme_dependencies()`
  (previously they were attached at the component-level). (#810)

* `layout_column_wrap()` no longer requires `width` and `width` is no
  longer the first argument, meaning that `width` must be named if
  used. The new default is `width = "200px"`, which combines with
  `fixed_width = FALSE` to produce a responsive layout where each
  column is at least 200px wide. This means that, in most cases,
  `layout_column_wrap()` can automatically layout an unknown number of
  items without you having to set `width`. (#853)

## New features

* The default version of Bootstrap is now v5.3.1, upgraded from
  v5.2.2. The most notable thing that comes with the update is the
  ability to toggle between light/dark [color
  modes](https://getbootstrap.com/docs/5.3/customize/color-modes/)
  purely client-side (i.e., no calls to Sass required). (#749, #764)

* Added `input_dark_mode()`, a new input control that provides a
  toggle button that can be used to switch between the dark and light
  modes when using Bootstrap 5.3. By default, dark mode is applied
  automatically if the user's operating system is also in dark
  mode. App authors can toggle dark mode programmatically from the
  server using `toggle_dark_mode()`, and if you provide
  `input_dark_mode()` with an `id`, you can read the current color
  mode via the corresponding input value. (#787)

* Shiny's Bootstrap theme preset is now used by default in
  `bs_theme()` and all related `page_*()` functions in bslib. This
  theme brings a fresh new design to all Shiny apps and dashboards
  created with bslib. This dashboard design anticipates heavy use of
  cards for organizing content, and works best with a gray background
  for contrast with minimalistic white cards. This treatment can be
  enabled in `page_sidebar()`, `page_fillable()` and other `page_*()`
  functions by adding the `bslib-page-dashboard` class to the page
  container or body tag.

   The preset can also be customized using the
   `$bslib-dashboard-design` and `$bslib-enable-shadows` Sass
   variables. Set these to `false` to disable the dashboard treatment
   and card shadows, respectively. These variables can be set via
   `bs_theme()`, e.g. `bs_theme("bslib-dashboard-design" =
   "false")`. (#897, #906)

* `value_box()` has been updated with a number of new features and improvements:

  * `value_box()` now supports many new themes and styles, or fully
    customizable themes using the new `value_box_theme()` function. To
    reflect the new capabilities, we've replaced `theme_color` with a
    new `theme` argument. The previous argument will continue work as
    expected, but with a deprecation warning. (#758)

    In addition to the Bootstrap theme names (`primary` ,`secondary`,
    etc.), you can now use the main Boostrap colors (`purple`, `blue`,
    `red`, etc.). You can also choose to apply the color to the
    background or foreground by prepending a `bg-` or `text-` prefix
    to the theme or color name. Finally, we've also added new gradient
    themes allowing you to pair any two color names as
    `bg-gradient-{from}-{to}` (e.g., `bg-gradient-purple-blue`).

    These named color themes aren't limited to value boxes: because
    they're powered by small utility classes, you can use them
    anywhere within your bslib-powered UI.

  * Added `showcase_bottom()`, a new `value_box()` layout that places
    the showcase below the value box title and value, perfect for a
    full-bleed plot. (#758)

  * `showcase_left_center()` and `showcase_top_right()` no longer take
    two values for the `width` argument. Instead, they now take a
    single value (e.g., `width = "30%"`) representing the width of the
    showcase are in the value box. Furthermore, they've both gained
    `width_full_screen` arguments that determine the width of the
    showcase area when the value box is expanded to fill the
    screen. (#758)

  * The `showcase_layout` argument of `value_box()` now accepts one of
    three character values: `"left center"`, `"top right"`,
    `"bottom"`. (#758)

  * A new [Build a Box app](https://bslib.shinyapps.io/build-a-box/)
    is now available online or via bslib. See `?value_box()` for
    details. The app helps preview a set of value boxes while you
    configure and customize their appearance and provides you with
    code to copy and paste into your app. (#790)

* Added new `navset_underline()` & `navset_card_underline()` functions
  as well as a `underline` argument to `page_navbar()` to leverage the
  new
  [nav-underline](https://getbootstrap.com/docs/5.3/components/navs-tabs/#underline)
  styling on navigation links. (#784)

## Improvements

* The `bs_themer()` app now supports previewing the dark mode variant
  of Bootstrap 5 themes. (#767)

* Improved the style and appearance of the button to enter full screen
  in `card()`s and `value_box()`es to better adapt to Bootstrap's dark
  mode. (#780)

* `htmltools::save_html()` now works as expected when applied directly
  to components (e.g., `card()`, etc) and pages with a non-default
  theme. (#823, #815)

* `layout_sidebar()` received a new design. The button to collapse and
  expand the sidebar now appears at the top (instead of the bottom) of
  the sidebar. On mobile devices, the sidebar now fills the
  `layout_sidebar()` area as an overlay, rather than expanding from
  above the main content area. **Note** the `max_mobile_height`
  argument of `sidebar()` determines the maximum height of the sidebar
  area on mobile, but it now only applies when `open =
  "always"`. (#798)

* `layout_sidebar()` now uses an `<aside>` element for the sidebar's
  container and a `<header>` element for the sidebar title. The
  classes of each element remain the same, but the semantic meaning of
  the elements is now better reflected in the HTML markup. (#580)

* In `layout_column_wrap()`, when `width` is a CSS unit -- e.g. `width
  = "400px"` or `width = "25%"` -- and `fixed_width = FALSE`,
  `layout_column_wrap()` will ensure that the columns are at least
  `width` wide, unless the parent container is narrower than
  `width`. (#851)

* `bs_global_theme()` gains a `preset` argument to match the function
  signature of `bs_theme()`. (#896)

## Bug fixes

* `toggle_switch()` now works correctly when called from within a
  Shiny module. `update_switch()` worked as expected, but
  `toggle_switch()` didn't apply the module's namespace to the `id` of
  the switch to be updated. (#769)

* Filter controls in the popovers of `DT::datatable()` tables now
  better match the current Bootstrap theme and are responsive to the
  dark mode setting in Bootstrap 5.3. (#267, #775).

* A double border no longer appears when an accordion is used inside a
  `sidebar(open="always")` context. (#795)

* `layout_sidebar()` no longer gives the sidebar main content area the
  `role="main"` attribute. (#580)


# bslib 0.5.1

## New features

* Added `tooltip()`, `update_tooltip()`, and `toggle_tooltip()` for
  easy creation (and server-side updating) of [Bootstrap
  tooltips](https://getbootstrap.com/docs/5.2/components/tooltips/) (a
  way to display additional information when focusing (or hovering
  over) a UI element). (#662)

* Added `popover()`, `update_popover()`, and `toggle_popover()` for
  easy creation (and server-side updating) of [Bootstrap
  popovers](https://getbootstrap.com/docs/5.2/components/popovers/). Popovers
  are similar to tooltips, but are more persistent, and should
  primarily be used with button-like UI elements (e.g.,
  `actionButton()`, `bsicons::bs_icon()`, etc). (#702)

* Added `input_switch()` and `update_switch()` for easy creation (and
  server-side updating) of a [Bootstrap's switch
  input](https://getbootstrap.com/docs/5.2/forms/checks-radios/#switches)
  (an on-off toggle for binary input values). (#483)

* Added two new toggle functions: `toggle_switch()` for toggling the
  state of an `input_switch()` element and `toggle_sidebar()` for
  toggling the state of a `sidebar()` element (`sidebar_toggle()`
  remains as an alias of `toggle_sidebar()`). (#709)

## Improvements

* Closed quarto-dev/quarto-cli#6081: `{bslib}`'s components (e.g.,
  `card()`, `sidebar()`, etc.) now work more sensibly in Quarto
  docs. (#664)

* Closed #672: `sidebar()` gains `gap` and `padding` arguments to
  control the vertical gap between items in the sidebar and the
  padding around the sidebar's content. (#725)

## Bug fixes

* Closed #636: Outputs in sidebars now work as expected when an
  initially-closed sidebar is opened. (#624)

* Closed #640: `accordion()` no longer errors when an `id` isn't supplied
  inside a Shiny `session` context. (#646)

* Closed #639: `nav_panel()`'s `icon` argument now supports generic `HTML()`,
  meaning that things like `bsicons::bs_icon()` and `fontawesome::fa()` can be
  used as values. (#645)

* Light-styled buttons in bslib-provided Bootswatch themes are now consistent
  with their design in Bootswatch. Previously, they were inadvertently styled
  similarly to secondary buttons. (#687)

* Closed #727: `layout_column_wrap()` now enforces equal column widths by
  avoiding layout issues caused by grid container overflow. (#729)

# bslib 0.5.0

This significant release focuses on making dashboards with filling/responsive
layouts easier. See the new [Getting Started with Dashboards
article](https://rstudio.github.io/bslib/articles/dashboards.html) to learn
more. It also includes new components (`accordion()`) as well as many
improvements and bug fixes for existing features and components.

`{bslib}`'s dashboarding features are still experimental at this point, but
this release represents a significant step towards being our recommended way to
create Shiny dashboards.

## Breaking changes / improvements

* `card_body()` now provides the same behavior as `card_body_fill()` (i.e., it
  is both a fillable container and fill item) by default. And, now, since
  `card_body()` can do everything `card_body_fill()` can do, `card_body_fill()`
  has been deprecated. The main benefit of this change is that
  `card(full_screen = TRUE, ...)` with output(s) passed to `...` "just works"
  in an intuitive way. To revert to the previous behavior, set `fillable =
  FALSE` and `fill = FALSE` in calls to `card_body()` and set `wrapper =
  function(x) card_body(x, fillable = FALSE, fill = FALSE)` in calls to
  `card()`. (#498)

* Closed #375: `margin-top` is no longer included on header tags that aren't
  created via pandoc. If this negatively impacts spacing above headers,
  consider adding a suitable [utility
  class](https://rstudio.github.io/bslib/articles/utility-classes.html) (for
  example, change `shiny::titlePanel("My title")` to
  `tagAppendAttributes(titlePanel("My title"), class = "mt-3", .selector =
  "h2")`). (#396)

* `page_fill()` (now called `page_fillable()`) had several breaking changes
  (listed below) to better accommodate filling layouts. If this breaks existing
  behavior, consider using `shiny::fillPage(theme = bslib::bs_theme(), ...)`
  instead of `page_fill()`.

  * `page_fill()` now produces a `<body>` tag with `display:flex` (instead of
    `display:block`).

  * `page_fill()` no longer fills the windows height on mobile (i.e., narrow
    screens) by default (set `fillable_mobile = TRUE` to restore the old
    behavior).

  * `page_fill()` now adds `padding` and `gap` by default, set `padding = 0`
    and `gap = 0` to restore the old behavior.

* `page_navbar()` (and also `shiny::navbarPage()` with `theme = bs_theme()`)
  had a couple breaking changes:

  * The container of each page is now `display:flex` (instead of
    `display:block`). If this breaks existing behavior, set `page_navbar()`'s
    `fillable` argument to `FALSE`.

  * `header` and `footer` is no longer wrapped in an additional
    `shiny::fluidRow()` container. If this breaks existing behavior, consider
    wrapping the `header` and `footer` value(s) with
    `shiny::fluidRow()`). (#479)

* `layout_column_wrap()`'s `fill` argument now controls whether or not the
  _layout container_ is allowed to grow/shrink to fit a fillable container
  (e.g., `page_fillable()`). It also gains a new `fillable` argument for
  controlling whether _UI elements_ are allowed to fill their row height. This
  is more consistent with the meaning of `fill` in other functions, like
  `card()`, `card_body()`, `layout_sidebar()`, etc. (#498)

* Defaults for the following Bootstrap 5 Sass variables were changed to `null`:
  `$accordion-button-active-bg`, `$accordion-button-active-color`, and
  `$accordion-icon-active-color`. To restore the old behavior, do
  `bs_add_variables(theme, "accordion-button-active-bg" =
  "tint-color($component-active-bg, 90%)", "accordion-button-active-color" =
  "shade-color($primary, 10%)", "accordion-icon-active-color" =
  "$accordion-button-active-color", .where = "declarations")`. (#475)

## New features

* Added `page_sidebar()`, for easy dashboard creation. (#588)

* Added a `sidebar()` API for creating sidebar layouts in various contexts. See
  [the article](https://rstudio.github.io/bslib/articles/sidebars/index.html)
  to learn more. (#479)

* Added `layout_columns()`, for responsive column-based grid layouts. (#587)

* Adds a new `accordion()` API. See `help(accordion)` for examples and
  details. Note also `accordion()` is designed to [work well inside a
  `sidebar()`](https://rstudio.github.io/bslib/articles/sidebars/index.html#sidebar-accordions). (#475)

* `page_navbar()`, `navset_card_tab()`, and ` navset_card_pill()` gain a
  `sidebar` argument for putting a `sidebar()` on every page/tab/pill. (#479)

* `page_navbar()` gains a `fillable` argument to make the content of particular
  page(s) fit the window/card. (#479)

* `page_fillable()` (aka, `page_fill()`) is now considered a `fillable`
  container, meaning that `fill` items like `card()`, `layout_column_wrap()`,
  and `layout_sidebar()` now grow/shrink to fit the window's height when they
  appear as a direct child of `page_fillable()`. (#479)

* `page_navbar()` and `page_fillable()` gain `fillable_mobile` arguments to
  control whether the page should grow/shrink to fit the viewport on
  mobile. (#479)

* `card()`, `value_box()`, and `card_image()` gain `max_height`/`min_height`
  and `fill` arguments. (#498)

* `card_body()` gains a `padding` argument. (#587)

* Added new `as_fill()`, `as_fillable()`, `as_fill_carrier()`, `is_fill()`, and
  `is_fillable()` for testing and coercing potential to fill. (#498)

## Bug fixes

* Closed #558: nested cards with `fullscreen = TRUE` now correctly and
  individually expand to fill the window. Tab focus behavior while in full
  screen mode has also been improved. (#557)

* Closed #573: Improved styling when a dynamic result is supplied to
  `value_box()`'s `title`/`value` (e.g., `value_box("Dynamic value",
  uiOutput("value"))`). (#605)


## Deprecations

* `card_body_fill()` has been deprecated in favor of `card_body()`. (#498)

* `page_fill()` has been deprecated in favor of `page_fillable()`. (#498)

* `nav()` has been deprecated in favor of `nav_panel()` and `nav_content()` in
  favor of `nav_panel_hidden()`. (#476)

* The `navs_*()` family of functions have been deprecated in favor of
  `navset_*()` (#476):
  * `navs_tab()` is now `navset_tab()`
  * `navs_pill()` is now `navset_pill()`
  * `navs_pill_list()` is now `navset_pill_list()`
  * `navs_bar()` is now `navset_bar()`
  * `navs_tab_card()` and `navs_pill_card()` are now `navset_card_tab()` and
    `navset_card_pill()`, respectively.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants