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

[request] include git-cola #149

Open
sjorge opened this issue Oct 9, 2018 · 0 comments
Open

[request] include git-cola #149

sjorge opened this issue Oct 9, 2018 · 0 comments

Comments

@sjorge
Copy link

sjorge commented Oct 9, 2018

https://github.com/git-cola/git-cola

jperkin pushed a commit that referenced this issue Dec 1, 2018
pkgsrc changes:
 - Switch to www/webkit-gtk (instead of using webkit24-gtk3)
 - Adjust GITHUB_RELEASE to remove the trailing `a', please note that this will
   probably not needed for future releases!

Changes:
1.12.5
------
 * #665: Webkit browser now supplies 'Liferea' component in user agent
 * #664: Added "Mark All As Read" button to headerbar plugin
 * #620: Added flatpak JSON
   (glitsj16)
 * #579: Added item list column drag and drop reordering
   (Yanko Kaneti)
 * #436, #662: Move from GnomeKeyring to libsecret
   (bgermann)
 * Fixes #663: Correct instapaper sharing link
   (Daniel Alexandersen)
 * Fixes #661: Update sharing links
   (Daniel Alexandersen)
 * Fixes #271: Consistent over usage of CPU (trigger by "Next Unread" loop)
   (reported by GreenLunar)
 * #472, #632: Dropping Inoreader support (API broke)

1.12.4
------
 * Fixes #660: Added installable plugin to change accels
   (Lars Windolf)
 * Fixes #654: Segfault on date out of range
   (Leaiz)
 * Fixes #651: Fixes Free Music Archive link in default OPMLs
   (reported by benjbrandall)
 * Fixes #649: Switch from persistent to session-only cookies
   (Daniel Alexandersen)
 * Fixes #645, #646: unread count of vfolder
   (Leaiz)
 * Fixes #637: Extra keywords in .desktop file (syndication; rss; atom)
   (Daniel Alexandersen)
 * Fixes #557: Updating counters for remote sources
   (Leiaz)
 * Updated cookie usage hint in FAQ

1.12.3
------
 * #634: Added setting for custom download commands
   (Leiaz)
 * #614: GTK Headerbar support via plugin
   (Lars Windolf)
 * #608: Refactoring UI code to switch to GAction and GtkBuilder
   Note: this implies not having icons in the main menu anymore
   which were still there for all non-GNOME users (see #626).
   (Leiaz)
 * #589: Item list view column order rework as a preparation for
   possible real column drag&drop. Introduces a new DConf setting
   for the column order.
   (Yanko Kaneti)
 * Fixes #280: Mark read toolbar button always disabled for search folders
   (Lars Windolf, reported by dvahalev)
 * Fixes #591: Please add a safety question when "marking all read"
   (Leiaz, reported by Nudin)
 * Fixes #625: Avoid exception in trayicon.py
   (Lars Windolf)
 * Fixes #627: GnomeKeyring plugin fails to activate when keyring doesn't exist
   (Lars Windolf)
 * Fixes #630: Fix feed list selection after DnD
   (Peter Zaitev)
 * Fixes #633: Big Memory leak in date code
   (Leiaz)
 * Update of Turkish translation (emintufan)
 * Update of French translation (guilieb)


1.12.2
------
 * Adding a plugin installer plugin that allows discovering
   and automatically installing 3rd party plugins
 * #585: Drop language from user agent to increase privacy
   (Daniel Aleksandersen)
 * #583: Add transmission-gtk and aria2 as download tool options
   (Daniel Aleksandersen)
 * #495: New command line option --disable-plugins (-p) to start
   with all plugins disabled.
 * Fixes #610: Liferea not showing up in GNOME Software
   (Yanko Kaneti)
 * Fixes #604: Correctly print error message when failing
   to unlock GNOME keyring
   (ghost)
 * Fixes #602: CSS style for GTK link colors not used
   (reported by pupyc)
 * Fixes #581: Redirect location updates and adds HTTP 308 (RFC 7538) support
   (Daniel Aleksandersen)
 * Fixes #578: Unable to set unread items in bold
   (Leiaz, reported by EverEve)
 * #612: Update of French translation
   (Guillaume Bernard)
 * #596: Update of Swedish translation
   (jony0008)
 * #594: Update of Polish default feed list
   (wmyrda)
 * #584: Fixes broken OPML feed list entries
   (Daniel Aleksandersen)
 * #584: Added Norwegian feed list
   (Daniel Aleksandersen)
 * #577: Fixes newsbin doc typo
   (Daniel Aleksandersen)

1.12.1
------
 * Fixes #562: Lintian spelling errors
   (reported by Paul Gevers)
 * Fixes #563: Appstream data has new format
   (patch by Paul Gevers)
 * Fixes #572: Doesn't remember some sort orders
   (reported by geplus)
 * Fixes #504: Fix assertions/crashes on changing view layouts
   (Leiaz)
 * Fixes #573: Workaround to avoid GtkPaned shrinking
   (Leiaz)
 * #566: Update of Italian translation (Gianvito Cavasoli)
 * #566: Update of Italian default feed list (Gianvito Cavasoli)
 * #514: Update of Indonesian translation (Samsul Ma'arif)
 * #514: Added Indonesian default feed list (Samsul Ma'arif)
 * Update of German translation


1.12.0
------
 * Fixes unhiding from tray icon when activated via GApplication
   (when starting Liferea a 2nd time)
 * #399: Reorder columns in 'Normal' email-like view
   to have the date column always at the end
   (Mikel Olasagasti)
 * #532: Add plugin to make unread feeds titles bold
   (Yanko Kaneti)
 * Workaround for #503: Liferea deanonymize Tor
   (Leiaz)
 * Fixes #450: #546 Resize both panes in normal and wide view
   (Leiaz)
 * Fixes #538: toggle_visibility() does not make a minimized window
   visible again
   (reported by Balló György)
 * Fixes #522: Segfault when switching feed in combined view
   (patch by jonmstone)
 * Fixes #419, #457: Handling of relative URLs in Atom parser
   (Leiaz)
 * Added 'View Image' context menu option in HTML view
 * Dropped del.icio.us from social bookmarking options
   as it is a read-only service now.
 * Redesign of the wide view mode: larger titles with small text teasers
 * Added optional AMP/HTML5 content enrichment feature

1.12-rc3
--------
 * Fixes #459: Fixes GtkDoc warnings
   (Leiaz)
 * Fixes #415: Filter commands are not asynchronous
   (Rich Coe)
 * Fixes #363: Missing space above internal browser address bar
   (reported by nekohayo, patch by Mikel Olasagasti)
 * Fixes #208: All "Unread" search folder items marked read at once
   (Leiaz)
 * Fixes #251: Liferea does not always use theme icons when it is launched
   on system startup (reported by GreenLunar, fix by Leiaz)
 * Change headline column sorting in wide view to time sorted
 * Updated Finnish translation (Jorma Karvonen)
 * Updated Latvian translation (Rihards Prieditis)
 * Updated Albanian translation (Bensik Bleta)
 * Updated Hungarian translation (Balázs Úr)
 * Updated Brazlian translation (Rafael Ferreira)
 * Updated French translation (Guillaume Bernard)

1.12-rc2
--------
 * Change all g_warnings() to g_print() for remote source
   to avoid "crashing" on errors.
 * Reorganized all UI definitions in separate files to simplify
   GtkBuilder handling.
 * Github #425: Add GeoRSS info and map link in item header
   (Mikel Olasagasti)
 * Github #407: Replacing deprecated elements in preferences
   (Leiaz)
 * Github #396: Create LifereaApplication type
   (Leiaz)
 * Github #434: Partial RFC3229+feed support for bandwidth savings
   (Daniel Aleksandersen)
 * Fixes Github #208: gtk_tree_store_get_path: assertion
   'iter->stamp == priv->stamp'
   (reported by Mno-hime)
 * Fixes Github #403: Leftover OSM XSLT in item view
   (reported by Paul Gevers)
 * Fixes Github #423: Internal browser shows files system on go-back
   (Leiaz, reported by Paul Gevers)
 * Updated German translation
 * Github #441: Updated French translation
   (Surfoo)


1.12-rc1a
---------
 * Fixing missing header files

1.12-rc1
--------
 * Github #348: Added support for downloading content that
   cannot be displayed by HTML widget (e.g. PDFs)
   (Leiaz)
 * Github #355: Migrate to Python3 libpeas loader
   (patch by picsel2)
 * Github #311: Upgrade to WebKit2
   (patch by Leiaz)
 * Github #292: Show new item count in tray icon
   (patch by mozbugbox)
 * Github #297: Minimize to systray on window close
   (patch by Hugo Arregui)
 * Github #325: Auto-fitting, translated license
   (patches by GreenLunar and Adolfo Jayme-Barrientos)
 * Fixes Github #73: Problem with favicon update
   (reported by asl97)
 * Fixes Github #177, #350: Tray icon not scaled properly
   (patch by mozbugbox)
 * Removes GeoIP rendering via OSM to avoid exposing
   users to remote JS library resources.
   (reported by Paul Gevers)
 * Fixes Github #337: Case sensitive sorting
   (reported by Pi03k)
 * Fixes Github #361: Show all enclosuers
   (Leiaz)
 * Fixes Github #368: Segfault on liferea-feed-add
   (Leiaz)
 * Fixes Github #382: Broken Auto-Detect/No Proxy setting
   (Leiaz)
 * Fixes Github #383: Per feed don't use proxy setting is broken
   (reported by Leiaz)
 * Github #309: Update of Japanese translation
   (IWAI, Masaharu)
 * Github #329: Update of Hebrew translation
   (GreenLunar)
 * Github #330: Update of Spanish translation
   (Adolfo Jayme-Barrientos)
 * Update of Swedish translation
   (Andreas Ronnquist)


1.11.7
------
 * Github #287: Add support for media:group.
   (patch by Leiaz)
 * Github #287: Fixes issues with media:content.
   (patch by Leiaz)
 * Fixes Github #283: Bad .desktop categories definition
   (reported by Wuzzy2)
 * Fixes Github #279: Fixes rules no visible in searchdialog
   (patch by Leiaz)
 * Fixes Github #278: No "Download" tab in Tools/Preferences
   (docs error, reported by Anders Jonsson)
 * Fixes Github #83: Segfault when sorting feeds in folder
   (patch by Leiaz)
 * Fixes French translation
   (patch by polo2ro)
 * Github #300: Updated manpage
   (patch by GreenLunar)

1.11.6
------
 * Added "Do Not Track" support (enabled per default)
 * Github #193: Added x-scheme-handler/feed to desktop file
   (suggested by GreenLunar)
 * Github #209: Add image icons to plugins
   (by GreenLunar)
 * Github #210: Enable tests for parsing RFC822 dates with 2 digit year
   (patch by arunanbala)
 * Fixes Github #78: Shaky text in feed list
   (reported by GreenLunar)
 * Fixes Github #195: Out-dated documentation on enclose download
   (reported by brian-in-crawford)
 * Fixes Github #198: Traceback on popup notifications
   (reported by GreenLunar)
 * Fixes Github #216: Untranslatable strings
   (reported by GreenLunar)
 * Fixes Github #256: PyGIWarnings on loading plugins
   (patch by glitjs16)

1.11.5
------
 * Github #178: Implementing full screen mode for videos
   (mozbugbox)
 * Fixes Github #32: Prevent erroneous "Mark all as read"
   (reported by Mno-hime)
 * Improves Github #36, #113: UI lock up during refresh
   (suggested by mozbugbox)
 * Fixes Github #180: Removing item from (v)folder marks all read
   (reported by GreenLunar)
 * Fixes Github #140, #158: Vertical pane placement is forgotten.
   (patch by foresto)
 * Fixes Github #182: Missing config.h include in date.c
   (reported by Paul Gevers)
 * Update of Russian translation (bboa)

1.11.4
------
 * Fixes Github #154: Crashes while starting (corrupt icon)
   (reported by jcamposz)
 * Github #149: Fixes a random crash on startup
   (patch by mozbugbox)
 * Fixes Github #79: RTL ordering of Back/Forward icons
   (reported by GreenLunar)
 * Fixes Github #30: Segfault after updating from 1.8 to 1.10
   (reported by vakuum)
 * Fixes Github #87: URL resolving wrong if base tag involved
   (reported by DanMan, fixed by mozbugbox)
 * Fixes all defects reported by Coverity scan
 * Simplied external browser handling. Now Liferea only supports
   the gtk_show_uri() launch mechanism for the system default browser
   and a user specified browser command.
 * Update of Albanian translation (Besnik Bleta)
 * Update of Hebrew translation (Genghis Khan)
 * Update of Spanish translation (Juan Campos Zambrana)
 * Fixes typo in Italian translation

1.11.3
------
 * Fixes Github #134: Broken default news feed.
   (reported by pvdl)
 * Fixes Github #133: Subscribe into TheOldReader categories
 * Fixes Github #122: Crashes at launch, "segmentation fault"
   (reported by geoffm)
 * Fixes some memory leaks
   (patch by Rich Coe)
 * Fixes Github #145: Incorrect method triggered for 'Launch External'
   (patch by mozbugbox)
 * Fixes Github #48: Window stays hidden on next start after Ctrl+W
   (reported by Jeff Fortin)
 * Expose LifereaHtmlView to GObject Introspection
   (patch by mozbugbox)
 * Improves Google Reader API error handling
 * Now using HTTPS only when accessing TheOldReader
 * Added LifereaNodeSourceActivatable interface to allow plugins
   implementing new node source types.
 * Downgrade enclosure drop warning from Glib warning to debug trace.

1.11.2
------
 * Fixes Github #132: Broken documentation link
   (reported by kallus)
 * Fixes Github #121: Wrapping issue in folder display
   (reported by Jeff Forting)
 * Fixes Github #114: Avoid termination on UTF-8 validation error
 * Fixes Github #90: Libnotify plugin not working
   (reported by asl97)
 * Fixes Github #86: Support HTTP content negotiation
   (suggested by DanMan)
 * Black-list some categories used by Google Reader clones
   that should not be visible.
 * Allowing browser history to go back to previously
   shown headline when browsing inside the item view.
 * Dropping offline option as this is duplicated with
   desktop environment in GNOME/network manager.
 * Fixes Github #100: Problems with dark Adwaita theme in GTK 3.14
   (reported by majutsushi)
 * Fixes for preferences dialog width.
   (patch by Jeff Fortin)
 * Update of Arabic translation (Khaled Hosny)

1.11.1
------
 * Fixes Github #81: Inability to add subscriptions
   (reported by GreenLunar)
 * Fixes Javascript links not opening in new browser tabs
 * Updated Hebrew translation (Genghis Khan)
 * Fixes Github #88: Minor DE translation mistake (moraxy)

1.11.0
------
 * Added experimental InoReader support
 * Added experimental Reedah support
 * Fixes SF #1123: Mistakenly claims "TinyTinyRSS source is not self-updating"
   (reported by Dominik Grafenhoher)
 * Fixes SF #1119: Crash on font resize at startup.
   (reported by David Smith)
 * Fixes #1056, #1089, #1098: Honor preferences when opening links
   (patch by Daniel Seither)
 * Fixes #1117: Selecting last unread item in reduced feed list jumps to next feed
   (reported by Bruce Guenter)
 * Fixes missing "Via" metadata type
   (patch by Rich Coe)
 * Fixes incorrect new count reset handling in item_state.c and
   some of the node source implementations.
 * Fixes SF #1096: missing installation of liferea.convert file
   (reported by stqn)
 * Fixes SF #1135: liferea-add-feed doesn't process feed:https//
   (patch by Kevin Walke)
 * Fixes SF #1137, #1142: startup race with LifereaHtmlView
   (reported by Yanko Kaneti)
 * Fixes Github #13: Parsing errors not visible with dark themes
   (reported by Steve Kelly)
 * Fixes Github #29: Do not use bold text for feeds/folders with unread items
   in the leftmost treeview (repored by Jeff Fortin)
 * Fixes SF #1141: Liferea does not update feeds with TinyTinyRSS
   (reported by Dominik Grafenhofer, denk_mal, Fabian Henze)
 * Fixes SF #1150: subscription prop/source: not all fields and
   buttons visible (reported by David Smith)
 * Fixes Github #26: RTL comments appear incorrectly
   (reported by yaconf)
 * Fixes Github #27: Images do not autosize to fit the available space
   (reported by Jeff Fortin)
 * Fixes Github #34: Add TinyTinyRSS Enclosure Support
   (reported by Adrixan)
 * Fixes Github #43: "Any of the following" search condition doesn't work
   (reported by Jeff Fortin)
 * Fixes Github #49: Some dialogs scrolling areas do not request enough height
   (reported by Jeff Fortin)
 * Fixes Github #53: Doesn't automatically update feed name and favicon
   for new feed (reported by asl97)
 * Patch SF #224: Update to new libxml2 buffer API
   (Simon Kagedal Reimer)
 * Patch SF #209: Avoid copying list in itemset_merge_items
   (kaloyan)
 * Make Liferea use ETags and send If-None-Match
   (patch by Chris Siebenmann)
 * Support NOCONFIGURE for RPM builds
   (Charles A Edwards)
 * Rename README to README.md
 * Removing libindicate support (to be added as plugin maybe)
 * Removing libnotify support (to be added as plugin maybe)
 * Removing build in tray icon support
 * Added tray icon plugin
 * Added category/folder support for TheOldReader
 * Added folder auto-removal for TinyTinyRSS & TheOldReader
 * Updated README on plugin contribution
 * Updated Arabic translation (Khaled Hosny)
jperkin pushed a commit that referenced this issue Jan 20, 2019
Changes:
1.6.3
-----
- Added `metadata` post-processor to write image metadata to an external
  file (#135)
- Added option to reverse chapter order of manga extractors (#149)
- Added authentication support for `danbooru` (#151)
- Added tag metadata for `exhentai` and `hbrowse` galleries
- Improved `*reactor` extractors (#148)
- Fixed extraction issues for `nhentai` (#156), `pinterest`, `mangapark`
jperkin pushed a commit that referenced this issue Mar 4, 2019
Update ruby-rack-test to 1.1.0.

## 1.1.0 / 2018-07-21

* Breaking changes:
  * None

* Minor enhancements / new functionality:
  * [GitHub] Added configuration for Stale (Per Lundberg #232)
  * follow_direct: Include rack.session.options (Mark Edmondson #233)
  * [CI] Add simplecov (fatkodima #227)

Bug fixes:
  * Follow relative locations correctly. (Samuel Williams #230)

## 1.0.0 / 2018-03-27

* Breaking changes:
  * Always set CONTENT_TYPE for non-GET requests
    (Per Lundberg #223)

* Minor enhancements / bug fixes:
  * Create tempfile using the basename without extension
    (Edouard Chin #201)
  * Save `session` during `follow_redirect!`
    (Alexander Popov #218)
  * Document how to use URL params with DELETE method
    (Timur Platonov #220)

## 0.8.3 / 2018-02-27

* Bug fixes:
  * Do not set Content-Type if params are explicitly set to nil
    (Bartek Bu�©Èat #212). Fixes #200.
  * Fix `UploadedFile#new` regression
    (Per Lundberg #215)

* Minor enhancements
  * [CI] Test against Ruby 2.5 (Nicolas Leger #217)

## 0.8.2 / 2017-11-21

* Bug fixes:
  * Bugfix for `UploadedFile.new` unintended API breakage.
    (Per Lundberg #210)

## 0.8.0 / 2017-11-20

* Known Issue
  * In `UploadedFile.new`, when passing e.g. a `Pathname` object,
    errors can be raised (eg. `ArgumentError: Missing original_filename
    for IO`, or `NoMethodError: undefined method 'size'`) See #207, #209.
* Minor enhancements
  * Add a required_ruby_version of >= 2.2.2, similar to rack 2.0.1.
    (Samuel Giddins #194)
  * Remove new line from basic auth. (Felix Kleinschmidt #185)
  * Rubocop fixes (Per Lundberg #196)
  * Add how to install rack-test from github to README. (Jun Aruga #189)
  * Update CodeClimate badges (Toshimaru #195)
  * Add the ability to create Test::UploadedFile instances without
    the file system (Adam Milligan #149)
  * Add custom_request, remove duplication (Johannes Barre #184)
  * README.md: Added note about how to post JSON (Per Lundberg #198)
  * README.md: Added version badge (Per Lundberg #199)
* Bug fixes
  * Bugfix for Cookies with multiple paths (Kyle Welsby #197)
jperkin pushed a commit that referenced this issue Apr 2, 2019
## Version 2.3 ##

2019-03-30

- Unicode 12 support ([#148]).

- New function `utf8proc_unicode_version` to return the supported Unicode version ([#151]).

- Simpler character-width computation that no longer uses GNU Unifont metrics: East-Asian wide
  characters have width 2, and all other printable characters have width 1 ([#150]).

- Fix `CHARBOUND` option for `utf8proc_map` to preserve U+FFFE and U+FFFF non-characters ([#149]).

- Various build-system improvements ([#141], [#142], [#147]).
jperkin pushed a commit that referenced this issue Apr 29, 2019
Changes since b148:

Beta #149 - 18.04.2019 (updated the same day)
- Bug fix: If the window is minimized while you double-click on an associated
  module in your OS, maximize the window before asking if you want to discard
  unsaved changes.
>> Updates:
- Updated rtmidi to version 4.0
- Windows: Updated SDL to version 2.0.9 (finally found a way to prevent a
  serious bug with 2.0.9, hence why I have been using 2.0.8 for a long time).
- Increased "volume toolbox" (Smp. Ed.) range from -200..200% to -500..500%
- Windows: Default Disk Op. directory is now "\Users\username"
jperkin pushed a commit that referenced this issue May 21, 2019
AsciiDoc:
 * Fix Asciidoc unindented lists (GitHub's #149)
 * Make Asciidoc Tables nowrap and support current format (GitHub's #63)
 * Do not include table fences in pot file (GitHub's #163)
 * Add option to prevent translation of target of image blocks (GitHub's #164)

Markdown:
 * Improve markdown ruler parsing, and add test.
 * Add markdown fenced code block parsing, and add test.

Sgml:
 * Avoid deprecated unescaped left brace in regex to get ready for Perl 5.32.
   (Debian's #903735)

TransTractor:
 * Ensure to split lines before addendum operation without loss or addition of
   newline.  With this change, addendum behavior is more intuitive.
   (Debian's #518218, Github's #147, #153)

Wml:
 * Fix longstanding error regarding comments at the beginning of a file.
   (Github's #138)

Xml, Docbook:
 * Document XML tag behavior customization with example to help use case
   specific customization.  (Debian's #515763)
 * Debug output enhancement to help people understand what exactly happening
   inside po4a.
 * Extensive POD and code comment additions and updates.

po4a tool:
 * Add pot_in feature to support the secondary master file for the base of
   POT/PO file generation.

Test:
 * Add XML test cases with po4a including addendum, tag customization, and
   pot_in feature.

Translations:
 * New translation to Chinese and Chinese Simplified, thanks Liu Guang.
 * Updated: Dutch, thanks Frans Spiesschaert.
 * Updated: Estonian, thanks Kristjan Räts.
 * Updated: French, thanks Brandelune and ButterflyOfFire.
 * Updated: German, thanks Helge Kreutzmann.
 * Updated: Italian, thanks Marco Ciampa.
 * Updated: Norwegian Bokmål, thanks Petter Reinholdtsen.
 * Updated: Portuguese (Brazil), thanks Rafael Fontenelle and Luiz
   Fernando Ranghetti.
 * Updated: Russian: thanks Igor.
 * Updated: Spanish, thanks emma peel and Omar Campagne.
 * Updated: Swedish, thanks Anders Jonsson.
 * Updated: Ukrainian, thanks Yuri Chornoivan (українська).
 * Updated: Vietnamese, thanks Trần Ngọc Quân.
jperkin pushed a commit that referenced this issue Jul 11, 2019
* Updated Esperanto, Portugese and Turkish translations to the users manual
* Updated Spannish and Turkish messages
* distribute solfege/tests/lesson-files/*
* help/C/scales/modes.html are never translated. So we must link to the
C-locale file in every translation.
* gettext tweaks to make the test suite work both when run as "test.py" and
"test.py test_lessonfile". There is still something wrong because we have
to disable the test to run debuild
* distribute solfege/tests/lib/* and solfege/test/include/*

3.22.1:
* Adjust some of the short interval names used when selecting intervals to
practise:
  u->P1 4->P4, 5->P5, tt->TT, p11->P11, p12->P12, tt8->d12. Added long name
for
  intervals from Eleventh to Double Octave.
* Fix the bug where we could not select the Default profile
* Updated Esperanto, Spannish, Polish, Turkish, Vietnamese, Norwegian
bokmål,
  Brazilian Portugese and Vietnamese translations.

3.22.0:
Improvements
  * interval exercises: added larger intervals, up to double octave
  * elembuilder: make the answer buttons insensitive when the user is
not supposed to click on them.
  * added the header.statistics_matrices lesson file variable
  * mpd: try to avoid crashing noteheads when displaying two noteheads
at the same step, but with different accidentals.
  * the statistics page for each exercise now have a button that let
us delete the statistics for the exercise.
  * The --debug option will also show the module name as a tooltip for
the link button that starts the exercise.
  * Make the "Guess answer" button be sensitive only when the user
have entered an answer.
  * Statistics viewer: added a row to the percentages table showing
count and percentage correct for all questions asked in the session,
day, week and all-time.
  * The frontpage will show the filename if the app is started with
the ``--debug`` command line option.
  * idtone exercise: show statistics when the user configure the
module himself. And remember the config.
  * We can now place exercise modules written in Python in
~/.solfege/exercises/dirname/modules/

New modules:
  * added the ``toneincontext`` exercise module
  * added ``solmisation`` exercise module. Thanks to Jan Baumgart and
Folkwang Universitaet der Kuenste

Build fixes:
  * version_info build fix
  * test.py: move some code so that running a subset of tests also
will create and remove tmp directory
  * make dist: include the files in exercises/regression-lesson-files/share/
  * build fix to avoid problem with too long list of files
  * add INSTALLDIR/exercises/standard/lesson-files to the include()
functions search path

Bug fixes
  * elembuilder: fix the backspace accel
  * fix bug #237
  * rhythmtapping and rhythmtapping2: rest handling bugfix
  * HarmonicProgressionLabel: set_alignment bugfix.
  * compareintervals: fix "Repeat first" and "Repeat last" sensitivity
  * SolfegeApp: don't sync the statistics database until the last
exercise is shut down.

Lesson file writing:
  * added import and rimport statement
  * remove all support for file formats that depent on lesson_id. Did
not remove the lesson_id variable from lesson files since this would
reset the statistics.
  * dataparser will parse to a parsetree that we interpret.
  * lesson file modules: tmp hack to let different lesson file modules
have different default values to variables.

* documentation: the intervals lesson file variable was documented wrongly.
* Linux -> GNU/Linux search-and-replace
* 140% line-height in the generated user manual
* the elembuilder module changed how it stored its statistics. So all
elembuilder statistics will be lost. We will save a backup of the
statistics database the first time 3.21.2 is run.
* gu.FlashBar: display extra strings (set by kwargs) in the same font
as the rest of the string.
* Put a deprecation notice in the chord modules gui.
* small fixes here and there...

3.20.7:
* Updates to Persian, Czeck, Danish and Norwegian translation.
* Added Kroatian translation


3.20.4:
* Fix rest handling in the rhythmtapping and rhythmtapping2 modules
* Bug fix to interval tests: select tones that are within the range of
the input widgets. (Closes bug #247)
* Translation updates
* Downloading of ALSA modules will download 1.0.24 instead of 1.0.22

3.20.2:
* Add a gtk.ScrolledWindow to the dialog showing file locations to
make sure the dialog is smaller than the screen.
* minor build fixes
* mark a few more strings for translation and grammar fixes (by Ruslan Fedyarov)
* Alt-Left will go to the previous menu while navigating exercises.
* bug fix: make strings in lesson files that use format strings translatable.
* "Accordion (Belgian Do 2)" interval input widget.
* Show alsa sequencers that register as alsaseq.SEQ_PORT_TYPE_APPLICATION
* Updated translations: French, Spanish, Turkish, Russian, German
* interval_in_key_min: lesson_heading spelling fix
* make "90%" the the default value if test_requirement is missing.

3.20.1:
* automate 0install binary tarball creating and script to update solfege.xml
* Bugfix to generate_lessonfiles.py: Believe it or not, but we defined
minor second as 16/12 and not 16/15.
* Search bar: decode the strings we get from the gtk.Entry into unicode.
* Always let the staff lines be as wide as the MusicDisplayer
* Add "Lock to key" feature. This is an experimental feature. Actual
GUI solution may improve later.
* polish folk songs: Fix singlequoted strings that where written as
multiline strings.
  It works, but it does not mean you should do it. Use triple-quoted
strings for multiline strings.
* simplify and rename to get a more precise name:
`mpdutils.int_to_notename` -> `int_to_octave_notename`,
`mpdutils.int_to_user_notename` -> `int_to_user_octave_notename` and
simplified `mpdutils.notename_to_int`
* String fixes:
  * Python should be capitalized
  * Fix bad english thanks to Ruslan Fedyarov
  * Mark one more string for translation
* the test target will check for bad spellings for "user manual":
"users manual" and "user's manual"
* Updated Russian, French, Dutch and Polish translations
* configwindow: handle soundcard.alsa_sequencer.get_connection_list()
returning an empty list. I think this fixes `bug #234
<http://bugs.solfege.org/234>`_
* set branch to 3.20 in configure.ac
* Removing things from the test: target of Makefile.in since
tools/make-release.py will do more
* docbook xml markup bug fixes to help/fr and help/pl
* autogen.sh: remove old gandiserver exception

3.20.0:
Improvements and changes:

* New exercise modules: rhythmdictation and rhythmdictation2
* New middle layer code in the mpd module. The parser now generates
objects from the mpd.elems module. This API is also used by the rhythm
editor widget.
* Initial ALSA sequencer support. Added a tool (available on the Help
menu) that downloads and compiles ALSA drivers.
* identifybpm: play rhythms with the normal mpd API instead of
gobject.timeout_add
* singinterval: select violin or bass clef depending on the pitch of
the highest and lowest tone.
* the config window is built with a gtk.TreeView instead of a
gtk.Notebok, and interval input accels are now configurable
* added some missing interval exercise configurations and reorder the
sections making them uniform.
* Change FlashBar to handle labelobjects
* `0install </zeroinstall/solfege.xml>`_ package for Linux
* Timidity is the default midi player on linux.

Bug fixes:

* front page editor: escape titles and file names in saved files, so
that ', " and  \ are handled correctly.
* Fix rnc so that it works with the sharp symbol, and the unicode
version of both flat and sharp.
* Make sure the optimisation for very large front page files are used.
This is required for very large files, like the Bach choral package.
* solfege_c_midimodule: don't link libm unless we also link agains
librfftw and libffrw
* Don't rebuild generated music theory images if skipmanual=yes (bug #222)
* midifilesynth: filter out duplicate %s in the midi player args.
Duplicate %s would make the music play twice.
* Fix the Rhythm music object class so that it uses the percussion
instruments selected in the preferences window, as the user manual say
it should.
* RhythmDictation2Lessonfile: fix it so that it uses the percussion
instruments selected in the preferences window.
* don't crash on unicode BOM in lesson files.
* bug fixes to the instrument selection code in the preferences window.
* Use different API querying the screen resolution to avoid segfaul on
debian lenny.
* Make elembuilder handle questions where the answer is only one
element. Fixed by Andre Maute
* statistics: handle the deletion of the tests table correctly.
* win32: fix importing of old format front page files.
* Lots of other small fixes.

3.18.8:
* fix bug #209 (http://bugs.solfege.org/209). Thanks to Ralf Hain for
reporting this.
* Add 3 missing "second to octave" exercises: compare intervals, both
melodic and harmonic, and sing-intervals. Small reorder so some
sections, so all interval exercises present the lessons in the same
order.
* sing-intervals: the "Second to octave" exercise had a bug only
asking for ascending intervals up to octave, not tenth.
* mpd.parser: bugfix to relative mode. The following code would have
wrong octaves:

      \staff
      \transpose d
      \relative c''{
       c d e e'
       }
* Merge solfege.dev revno 1852: show_exercise_theory fix

3.18.7:
3.18.7 October 29, 2010

* Updated Dutch and Italian translations
* idbyname: fix it so that tests work when expert mode is selected.
* Upgrade debugtree.txt to the latest file format.
* lessonfile.py: set exercise_dir in a portable way. Fixes bug on ms windows.
* ExerciseView: Don't use gtk.SizeGroup when we display many exercises
since there are performance issues with it.

3.18.6 October 24, 2010

* win32: strftime did not accept unicode strings causing a traceback
when the statistics was shown.
* validate_stored_statistics: don't try to delete from the 'tests'
table, since it should be removed by now. Fixes
http://www.solfege.org/SITS-Incoming/NoDescription-YF
* Show dialog explaining things if the database is locked.
* frontpage: Escape backslash and apostrophe used in titles.
* Make elembuilder handle questions where the answer is only one
element. Fixed by Andre Maute.

3.18.5 October 18, 2010

* Use different api to get the screen width and height. This to avoid
segfault on debian lenny.
* Make the install target skip compiling the .py files if nopycompile=YES
* Change to use htmldoc for generating the PDF version of the user
manual. We still have encoding troubles for some languages, but doing
it manually with openoffice is too much work.
* Workaround for the bug where 'None' is stored as the key in
singinterval exercises. http://bugs.solfege.org/205
* Updates to the russian translation of the user manual

3.18.4 October 12, 2010

* Should work with swig 2.0 now. http://bugs.solfege.org/202
* Fix bug in the preferences window code that let us select accels for
the idtone exercises.
* Updated Danish, Russian, Vietnamese and Chinese translations

3.18.2 & 3.18.3 October 5, 2010

* Fix import error in the prefernces window. (http://bugs.solfege.org/201)
* Updated Italian and Vietnamese translations

3.18.1:
* Updated Esperanto, Polish and Italian translation.
* Don't import tuner.py when running solfege with the --debug option.
* Windows sound driver: Fix winmidi.reset so that it will reset the
correct dev num. Thanks to Krzysztof Foltman for telling me how to fix
this. This fix let us use external midi synths on MS Windows.
* Give the synth a little time to process program changes by calling
an extra note_off. The default is 100ms, but this is configurable from
the users solfegerc file.


Changes in 3.18.0 (compared to the 3.16 release). Included here since
3.18.0 was not that widely announced:
* Profile manager
* Preferences window: Add gui to delete statistics.
* Resize main window when selecting exercises to use the scrollbars less.
* The statistics page of exercises will show the 10 latest test results.
* Front page editor: option to search for strings in lesson file
titles when selecting lesson files.
* Export Exercises to Audio Files: add checkbutton that names the
generated audio files after the answer of the question.
* Add missing "Repeat Arpeggio" button to sing-the-fifth
* Updated Esperanto, Brazilian Portugese, Turkish and Persian translation.
* Spelling fixes by Ruslan Fedyarov and dougkerns
* Works with Swig 2.0
* Bug fix to the statistics table, and documented the statistics
tables in the user manual.
* Lots of minor bug fixes and improvements to the code.

3.16.3:
3.16.3
* Fix front page editor bug: failed while moving sections
* cfg.parse_file_info_dict: strip each line to avoid newline problems on win32
* Revert back to Python 2.5.4 since we want to let CSound use our
included python interpreter, and the recommended CSound installer is
built for Python 2.5
* French and Polish translation updates.
* win32: moved some files around and set the PYTHONHOME environment variable.

3.16.2
* Interval.get_cname should return "Tritone" and not "Diminished Fifth"
* Remove some debugging code that accidentally was left in
get_percentage_correct(). This broke the "Identify Tone" exercise.

3.16.0:
New features:
* Added 'atonal' transposition mode.
* More harmonic progressions from Ruslan Fedyarov.
* Added "Compare melodic intervals" exercise
* Statistics are now stored in a sqlite database instead of lots and
lots of small files.
* New main window where we select exercises without the menu bar. Gui
editor that let us edit this.
* Support LilyPond 2.12 in addition to 2.10
* Internally we now refer to lesson files by filename and not
lesson_id. So lesson_id should not be added to new lesson files. But
don't modify old files if you care about loosing your statistics.

News:
* Require Python 2.5. Module reorg. Enable absolute import in all modules.
* User generated lesson files have moved from $HOME/lesson-files to
$HOME/.solfege/exercises/user/lesson-files. The user manual has doc
explaining this change.
* win32: don't show terminal window when running timidity and friends.

3.14.11 February 8, 2010
revno: 1065
* IntervalCheckBox had a bug that caused the Major Decim to be
missing. Reported by Andre Maute.
* Decim->Tenth replace. How could this ever get in???
* make default.config rcfile version 16 compatible. Thanks to
Krause.Chr for fixing this.

3.14.10 December 17, 2009
* Fix bug #149: make keyboard accels work for descending melodic intervals.
* Fix win32 upgrades from 3.11.1 and earlier
* right-click on piano/guitar/accordion widget got the direction wrong.
* rcfile: don't loose xxx_player_options

3.14.9 October 10, 2009
* bugfix: install and uninstall when swig is not installed
* don't loose the interval and csound statistics if upgrading from
older releases.

3.14.8 September 29, 2009
* Simplified Chinese translations for by Fan Rui and Ji ZhengYu
* Mark a few more strings and the music theory pages for translation.
* Add harmonics to the csound exercises. Contributed by Tarmo Johannes
* Some build fixes: handle missing swig and lilypond better
* Translation updates.
* Remove more debug print statements that I believe causes "bad
filedescriptor" errors

3.14.5 June 29, 2009

    * Unicode error during build fixed by using the codecs module to
load learning trees.
    * Updated fr, nl, pt_BR and tr messages.
    * Updated fr and pt_BR user manual translation.

3.14.4 June 9, 2009
    * Fix broken link to the related music theory. It was broken in
some exercises.
    * ConflictResolveDialog: set use_underline to False so that
filenames containing a underscore ('_') are displayed correctly.
    * Update src/runtime.py to check that we have at least Python 2.4
and PyGTK 2.12
    * Updated Danish, Polish, Brazilian Portugues and Russion translations.

3.14.3 April 27, 2009
The secret release. Forgot to announce it.
    * Don't print debug statements, since we get IOErrors because of
it when the stdout buffer is full on win32
    * bugfix: the small buttons representing parts of the dictation
where all playing the whole music.
    * Updated Russian and Finnish translation.

3.14.2:
Changes since 3.14.1:
* Fix http://www.solfege.org/SITS-Incoming/NoDescription-HA
* It should now be possible to build without a X display.
* Updated translations
jperkin pushed a commit that referenced this issue Oct 24, 2019
## 2.3.1 / 2019-10-22

### Security

Address CVE-2019-15587: Unsanitized JavaScript may occur in sanitized output when a crafted SVG element is republished.

This CVE's public notice is at flavorjones/loofah#171


## 2.3.0 / unreleased

### Features

* Expand set of allowed protocols to include `tel:` and `line:`. [#104, #147]
* Expand set of allowed CSS functions. [related to #122]
* Allow greater precision in shorthand CSS values. [#149] (Thanks, @danfstucky!)
* Allow CSS property `list-style` [#162] (Thanks, @jaredbeck!)
* Allow CSS keywords `thick` and `thin` [#168] (Thanks, @georgeclaghorn!)
* Allow HTML property `contenteditable` [#167] (Thanks, @andreynering!)


### Bug fixes

* CSS hex values are no longer limited to lowercase hex. Previously uppercase hex were scrubbed. [#165] (Thanks, @asok!)


### Deprecations / Name Changes

The following method and constants are hereby deprecated, and will be completely removed in a future release:

* Deprecate `Loofah::Helpers::ActionView.white_list_sanitizer`, please use `Loofah::Helpers::ActionView.safe_list_sanitizer` instead.
* Deprecate `Loofah::Helpers::ActionView::WhiteListSanitizer`, please use `Loofah::Helpers::ActionView::SafeListSanitizer` instead.
* Deprecate `Loofah::HTML5::WhiteList`, please use `Loofah::HTML5::SafeList` instead.

Thanks to @JuanitoFatas for submitting these changes in #164 and for making the language used in Loofah more inclusive.
jperkin pushed a commit that referenced this issue Mar 25, 2020
Update ruby-childprocessto 3.0.0.


### Version 3.0.0 / 2019-09-20

* [#156](enkessler/childprocess#156 unused `rubyforge_project` from gemspec
* [#160](enkessler/childprocess#160): Remove extension to conditionally install `ffi` gem on Windows platforms
* [#160](enkessler/childprocess#160): Remove runtime dependency on `rake` gem

### Version 2.0.0 / 2019-07-11

* [#148](enkessler/childprocess#148): Drop support for Ruby 2.0, 2.1, and 2.2
* [#149](enkessler/childprocess#149): Fix Unix fork reopen to be compatible with Ruby 2.6
* [#152](https://github.com/enkessler/childprocess/pull/152)/[#154](https://github.com/enkessler/childprocess/pull/154): Fix hangs and permission errors introduced in Ruby 2.6 for leader processes of process groups

### Version 1.0.1 / 2019-02-03

* [#143](enkessler/childprocess#144): Fix installs by adding `rake` gem as runtime dependency
* [#147](enkessler/childprocess#147): Relax `rake` gem constraint from `< 12` to `< 13`

### Version 1.0.0 / 2019-01-28

* [#134](enkessler/childprocess#134): Add support for non-ASCII characters on Windows
* [#132](enkessler/childprocess#132): Install `ffi` gem requirement on Windows only
* [#128](enkessler/childprocess#128): Convert environment variable values to strings when `posix_spawn` enabled
* [#141](enkessler/childprocess#141): Support JRuby on Java >= 9
jperkin pushed a commit that referenced this issue Mar 25, 2020
Update ruby-puppet-resource_api to 1.8.12.

## [1.8.7](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.7) (2019-09-11)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.6...1.8.7)

**Fixed bugs:**

- \(FM-8092\) Fix caching scope of transport schemas [\#200](puppetlabs/puppet-resource_api#200) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- \(FM-8485\) - Addition of CODEOWNERS file [\#203](puppetlabs/puppet-resource_api#203) ([david22swan](https://github.com/david22swan))
- \(MODULES-9258\) Improve referencing and add summary [\#199](puppetlabs/puppet-resource_api#199) ([MaxMagill](https://github.com/MaxMagill))
- \(maint\) Pin both Jruby cells to use `dist: trusty` [\#197](puppetlabs/puppet-resource_api#197) ([da-ar](https://github.com/da-ar))

## [v1.8.6](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.6) (2019-07-01)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.5...v1.8.6)

**Implemented enhancements:**

- \(SERVER-2470\) list\_all\_transports implementation for puppetserver [\#187](puppetlabs/puppet-resource_api#187) ([DavidS](https://github.com/DavidS))

**Fixed bugs:**

- \(MODULES-9428\) make the composite namevar implementation usable [\#174](puppetlabs/puppet-resource_api#174) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- Merge 1.6.x [\#194](puppetlabs/puppet-resource_api#194) ([da-ar](https://github.com/da-ar))
- \(maint\) test fixes [\#193](puppetlabs/puppet-resource_api#193) ([DavidS](https://github.com/DavidS))
- \(packaging\) Revert to version '1.8.5' \[no-promote\] [\#192](puppetlabs/puppet-resource_api#192) ([gimmyxd](https://github.com/gimmyxd))
- \(packaging\) Bump to version '1.9.0' \[no-promote\] [\#191](puppetlabs/puppet-resource_api#191) ([gimmyxd](https://github.com/gimmyxd))

## [1.8.5](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.5) (2019-06-24)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.4...1.8.5)

**Fixed bugs:**

- \(maint\) Mergeup 1.6.x: FM-7839, desc/docs cleanup [\#186](puppetlabs/puppet-resource_api#186) ([DavidS](https://github.com/DavidS))

**Merged pull requests:**

- \(maint\) reduce debug noise caused by `feature?` [\#189](puppetlabs/puppet-resource_api#189) ([da-ar](https://github.com/da-ar))
- \(FM-8265\) Merge branch '1.6.x' into master [\#188](puppetlabs/puppet-resource_api#188) ([da-ar](https://github.com/da-ar))
- \(maint\) test fixes [\#185](puppetlabs/puppet-resource_api#185) ([DavidS](https://github.com/DavidS))
- \(maint\) make test order really random [\#175](puppetlabs/puppet-resource_api#175) ([DavidS](https://github.com/DavidS))
- \(packaging\) Update reported version to 1.8.4 \[no-promote\] [\#171](puppetlabs/puppet-resource_api#171) ([gimmyxd](https://github.com/gimmyxd))

## [1.8.4](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.4) (2019-06-12)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.3...1.8.4)

**Implemented enhancements:**

- \(FM-7839\) Implement `to\_json` method for ResourceShim [\#168](puppetlabs/puppet-resource_api#168) ([da-ar](https://github.com/da-ar))

**Fixed bugs:**

- \(maint\) backport minor fixes from master to 1.6.x [\#184](puppetlabs/puppet-resource_api#184) ([DavidS](https://github.com/DavidS))
- \(PUP-9747\) Relax validation for bolt [\#182](puppetlabs/puppet-resource_api#182) ([DavidS](https://github.com/DavidS))
- \(maint\) Add to\_hash function to resourceShim for compatibility [\#180](puppetlabs/puppet-resource_api#180) ([da-ar](https://github.com/da-ar))
- \(maint\) implement `desc`/`docs` fallback [\#177](puppetlabs/puppet-resource_api#177) ([DavidS](https://github.com/DavidS))

**Closed issues:**

- ResourceShim should respond to to\_hash [\#179](puppetlabs/puppet-resource_api#179)

**Merged pull requests:**

- \(maint\) Merge 1.6.x to master  [\#183](puppetlabs/puppet-resource_api#183) ([mihaibuzgau](https://github.com/mihaibuzgau))
- \(maint\) Fixup Gemfile for JRuby 1.7 installs [\#173](puppetlabs/puppet-resource_api#173) ([da-ar](https://github.com/da-ar))
- \(maint\) test cleanups [\#172](puppetlabs/puppet-resource_api#172) ([DavidS](https://github.com/DavidS))

## [1.8.3](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.3) (2019-04-12)
[Full Changelog](puppetlabs/puppet-resource_api@1.8.2...1.8.3)

**Fixed bugs:**

- \(FM-7867\) Always throw when transport schema validation fails [\#169](puppetlabs/puppet-resource_api#169) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(PA-2496\) Bump version and remove v from version number [\#170](puppetlabs/puppet-resource_api#170) ([mihaibuzgau](https://github.com/mihaibuzgau))

## [1.8.2](https://github.com/puppetlabs/puppet-resource_api/tree/1.8.2) (2019-04-10)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.4...1.8.2)

**Merged pull requests:**

- \(packaging\) Update reported version to 1.8.2 \[no-promote\] [\#167](puppetlabs/puppet-resource_api#167) ([mihaibuzgau](https://github.com/mihaibuzgau))

## [v1.6.4](https://github.com/puppetlabs/puppet-resource_api/tree/v1.6.4) (2019-03-25)
[Full Changelog](puppetlabs/puppet-resource_api@v1.8.1...v1.6.4)

**Merged pull requests:**

- Add `implementations` to reserved bolt keywords [\#165](puppetlabs/puppet-resource_api#165) ([DavidS](https://github.com/DavidS))
- \(MAINT\) Bump version [\#164](puppetlabs/puppet-resource_api#164) ([sebastian-miclea](https://github.com/sebastian-miclea))
- Release prep for v1.8.1 [\#163](puppetlabs/puppet-resource_api#163) ([DavidS](https://github.com/DavidS))

# Changelog

All significant changes to this repo will be summarized in this file.


## [v1.8.1](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.1) (2019-03-13)
[Full Changelog](puppetlabs/puppet-resource_api@v1.8.0...v1.8.1)

**Fixed bugs:**

- \(maint\) Fixes sensitive transport values where absent keys are wrapped [\#161](puppetlabs/puppet-resource_api#161) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- 1.6.x mergeup [\#162](puppetlabs/puppet-resource_api#162) ([DavidS](https://github.com/DavidS))
- \(FM-7829\) Update README with transports examples [\#160](puppetlabs/puppet-resource_api#160) ([willmeek](https://github.com/willmeek))
- \(maint\) update release docs [\#159](puppetlabs/puppet-resource_api#159) ([DavidS](https://github.com/DavidS))
- Improve travis cells and testing [\#145](puppetlabs/puppet-resource_api#145) ([DavidS](https://github.com/DavidS))

## [v1.8.0](https://github.com/puppetlabs/puppet-resource_api/tree/v1.8.0) (2019-02-26)
[Full Changelog](puppetlabs/puppet-resource_api@v1.7.0...v1.8.0)

**Implemented enhancements:**

- \(FM-7695\) Transports - the remote content framework [\#157](puppetlabs/puppet-resource_api#157) ([DavidS](https://github.com/DavidS))
- \(FM-7698\) implement `sensitive:true` handling [\#156](puppetlabs/puppet-resource_api#156) ([da-ar](https://github.com/da-ar))
- \(PDK-1271\) Allow a transport to be wrapped and used like a device [\#155](puppetlabs/puppet-resource_api#155) ([da-ar](https://github.com/da-ar))
- \(FM-7701\) Support device providers when using Transport Wrapper [\#154](puppetlabs/puppet-resource_api#154) ([da-ar](https://github.com/da-ar))
- \(FM-7726\) implement `context.transport` to provide access [\#152](puppetlabs/puppet-resource_api#152) ([DavidS](https://github.com/DavidS))
- \(FM-7674\) Allow wrapping a Transport in a legacy Device [\#149](puppetlabs/puppet-resource_api#149) ([da-ar](https://github.com/da-ar))
- \(FM-7600\) Add Transport.connect method [\#148](puppetlabs/puppet-resource_api#148) ([da-ar](https://github.com/da-ar))

**Fixed bugs:**

- \(FM-7690\) Fix transports cache to be environment aware [\#151](puppetlabs/puppet-resource_api#151) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(FM-7726\) cleanups for the transport  [\#153](puppetlabs/puppet-resource_api#153) ([DavidS](https://github.com/DavidS))
- \(FM-7691,FM-7696\) refactoring definition handling in contexts [\#150](puppetlabs/puppet-resource_api#150) ([DavidS](https://github.com/DavidS))

## [v1.7.0](https://github.com/puppetlabs/puppet-resource_api/tree/v1.7.0) (2019-01-07)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.3...v1.7.0)

**Implemented enhancements:**

- \(maint\) Validate Type Schema [\#142](puppetlabs/puppet-resource_api#142) ([da-ar](https://github.com/da-ar))

**Merged pull requests:**

- \(maint\) Bundler 2.0 dropped support for Ruby versions \< 2.2 [\#147](puppetlabs/puppet-resource_api#147) ([da-ar](https://github.com/da-ar))
-  \(FM-7597\) RSAPI Transport register function [\#146](puppetlabs/puppet-resource_api#146) ([da-ar](https://github.com/da-ar))
- \(packaging\) Update version to 1.7.0 [\#144](puppetlabs/puppet-resource_api#144) ([branan](https://github.com/branan))

## [v1.6.3](https://github.com/puppetlabs/puppet-resource_api/tree/v1.6.3) (2018-12-11)
[Full Changelog](puppetlabs/puppet-resource_api@v1.6.2...v1.6.3)

**Closed issues:**

- Trying to understand stubbing in the examples [\#136](puppetlabs/puppet-resource_api#136)

**Merged pull requests:**

- \(packaging\) Update version to 1.6.3 [\#143](puppetlabs/puppet-resource_api#143) ([branan](https://github.com/branan))
- Move parameter and property logic to separate classes [\#140](puppetlabs/puppet-resource_api#140) ([bpietraga](https://github.com/bpietraga))
- \(maint\) Predeclare Puppet module before ResourceApi [\#139](puppetlabs/puppet-resource_api#139) ([caseywilliams](https://github.com/caseywilliams))
- \(maint\) minor fix to make data\_type\_handling change work [\#138](puppetlabs/puppet-resource_api#138) ([DavidS](https://github.com/DavidS))
- \(maint\) extract data type handling code [\#137](puppetlabs/puppet-resource_api#137) ([bpietraga](https://github.com/bpietraga))
- Release prep for v1.6.2 [\#135](puppetlabs/puppet-resource_api#135) ([DavidS](https://github.com/DavidS))
jperkin pushed a commit that referenced this issue Aug 10, 2020
Update ruby-backports to 3.18.1.


3.18.1 - 2020-06-23

* Update dependency

3.18.0 - 2020-06-22

* Require per ruby version / all requires now check RUBY_VERSION to be
  more efficient [#149]
jperkin added a commit that referenced this issue Aug 26, 2020
Version 2.11 - 9 Jul 2020

-   Introduction of the barman-cli-cloud package that contains all cloud
    related utilities.

-   Add barman-cloud-wal-restore to restore a WAL file previously
    archived with barman-cloud-wal-archive from an object store

-   Add barman-cloud-restore to restore a backup previously taken with
    barman-cloud-backup from an object store

-   Add barman-cloud-backup-list to list backups taken with
    barman-cloud-backup in an object store

-   Add support for arbitrary archive size for barman-cloud-backup

-   Add support for --endpoint-url option to cloud utilities

-   Remove strict superuser requirement for PG 10+ (by Kaarel Moppel)

-   Add --log-level runtime option for barman to override default log
    level for a specific command

-   Support for PostgreSQL 13

-   Bug fixes:

    -   Suppress messages and warning with SSH connections in barman-cli
        (GH-257)
    -   Fix a race condition when retrieving uploaded parts in
        barman-cloud-backup (GH-259)
    -   Close the PostgreSQL connection after a backup (GH-258)
    -   Check for uninitialized replication slots in receive-wal --reset
        (GH-260)
    -   Ensure that begin_wal is valorised before acting on it (GH-262)
    -   Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287)
    -   Fix rsync compatibility error with recent rsync
    -   Fix PostgreSQLClient version parsing
    -   Fix PostgreSQL exception handling with non ASCII messages
    -   Ensure each postgres connection has an empty search_path
    -   Avoid connecting to PostgreSQL while reading a backup.info file

If you are using already barman-cloud-wal-archive or barman-cloud-backup
installed via RPM/Apt package and you are upgrading your system, you
must install the barman-cli-cloud package. All cloud related tools are
now part of the barman-cli-cloud package, including
barman-cloud-wal-archive and barman-cloud-backup that were previosly
shipped with barman-cli. The reason is complex dependency management of
the boto3 library, which is a requirement for the cloud utilities.

Version 2.10 - 5 Dec 2019

-   Pull .partial WAL files with get-wal and barman-wal-restore,
    allowing restore_command in a recovery scenario to fetch a partial
    WAL file's content from the Barman server. This feature simplifies
    and enhances RPO=0 recovery operations.

-   Store the PostgreSQL system identifier in the server directory and
    inside the backup information file. Improve check command to verify
    the consistency of the system identifier with active connections
    (standard and replication) and data on disk.

-   A new script called barman-cloud-wal-archive has been added to the
    barman-cli package to directly ship WAL files from PostgreSQL (using
    archive_command) to cloud object storage services that are
    compatible with AWS S3. It supports encryption and compression.

-   A new script called barman-cloud-backup has been added to the
    barman-cli package to directly ship base backups from a local
    PostgreSQL server to cloud object storage services that are
    compatible with AWS S3. It supports encryption, parallel upload,
    compression.

-   Automated creation of replication slots through the server/global
    option create_slot. When set to auto, Barman creates the replication
    slot, in case streaming_archiver is enabled and slot_name is
    defined. The default value is manual for back-compatibility.

-   Add '-w/--wait' option to backup command, making Barman wait for all
    required WAL files to be archived before considering the backup
    completed. Add also the --wait-timeout option (default 0, no
    timeout).

-   Redact passwords from Barman output, in particular from
    barman diagnose (InfoSec)

-   Improve robustness of receive-wal --reset command, by verifying that
    the last partial file is aligned with the current location or, if
    present, with replication slot's.

-   Documentation improvements

-   Bug fixes:

    -   Wrong string matching operation when excluding tablespaces
        inside PGDATA (GH-245)
    -   Minor fixes in WAL delete hook scripts (GH-240)
    -   Fix PostgreSQL connection aliveness check (GH-239)

Version 2.9 - 1 Aug 2019

-   Transparently support PostgreSQL 12, by supporting the new way of
    managing recovery and standby settings through GUC options and
    signal files (recovery.signal and standby.signal)

-   Add --bwlimit command line option to set bandwidth limitation for
    backup and recover commands

-   Ignore WAL archive failure for check command in case the latest
    backup is WAITING_FOR_WALS

-   Add --target-lsn option to set recovery target Log Sequence Number
    for recover command with PostgreSQL 10 or higher

-   Add --spool-dir option to barman-wal-restore so that users can
    change the spool directory location from the default, avoiding
    conflicts in case of multiple PostgreSQL instances on the same
    server (thanks to Drazen Kacar).

-   Rename barman_xlog directory to barman_wal

-   JSON output writer to export command output as JSON objects and
    facilitate integration with external tools and systems (thanks to
    Marcin Onufry Hlybin). Experimental in this release.

Bug fixes:

-   replication-status doesn’t show streamers with no slot (GH-222)

-   When checking that a connection is alive (“SELECT 1” query),
    preserve the status of the PostgreSQL connection (GH-149). This
    fixes those cases of connections that were terminated due to
    idle-in-transaction timeout, causing concurrent backups to fail.

Version 2.8 - 17 May 2019

-   Add support for reuse_backup in geo-redundancy for incremental
    backup copy in passive nodes

-   Improve performance of rsync based copy by using strptime instead of
    the more generic dateutil.parser (#210)

-   Add ‘--test’ option to barman-wal-archive and barman-wal-restore to
    verify the connection with the Barman server

-   Complain if backup_options is not explicitly set, as the future
    default value will change from exclusive_backup to concurrent_backup
    when PostgreSQL 9.5 will be declared EOL by the PGDG

-   Display additional settings in the show-server and diagnose
    commands: archive_timeout, data_checksums, hot_standby,
    max_wal_senders, max_replication_slots and wal_compression.

-   Merge the barman-cli project in Barman

-   Bug fixes:

    -   Fix encoding error in get-wal on Python 3 (Jeff Janes, #221)
    -   Fix exclude_and_protect_filter (Jeff Janes, #217)
    -   Remove spurious message when resetting WAL (Jeff Janes, #215)
    -   Fix sync-wals error if primary has WALs older than the first
        backup
    -   Support for double quotes in synchronous_standby_names setting

-   Minor changes:

    -   Improve messaging of check --nagios for inactive servers
    -   Log remote SSH command with recover command
    -   Hide logical decoding connections in replication-status command

This release officially supports Python 3 and deprecates Python 2 (which
might be discontinued in future releases).

PostgreSQL 9.3 and older is deprecated from this release of Barman.
Support for backup from standby is now limited to PostgreSQL 9.4 or
higher and to WAL shipping from the standby (please refer to the
documentation for details).

Version 2.7 - 21 Mar 2019

-   Fix error handling during the parallel backup. Previously an
    unrecoverable error during the copy could have corrupted the barman
    internal state, requiring a manual kill of barman process with
    SIGTERM and a manual cleanup of the running backup in PostgreSQL.
    (GH#199)

-   Fix support of UTF-8 characters in input and output (GH#194 and
    GH#196)

-   Ignore history/backup/partial files for first sync of geo-redundancy
    (GH#198)

-   Fix network failure with geo-redundancy causing cron to break
    (GH#202)

-   Fix backup validation in PostgreSQL older than 9.2

-   Various documentation fixes

Version 2.6 - 4 Feb 2019

-   Add support for Geographical redundancy, introducing 3 new commands:
    sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman
    server to use another Barman server as data source instead of a
    PostgreSQL server.

-   Add put-wal command that allows Barman to safely receive WAL files
    via PostgreSQL's archive_command using the barman-wal-archive script
    included in barman-cli

-   Add ANSI colour support to check command

-   Minor fixes:

    -   Fix switch-wal on standby with an empty WAL directory
    -   Honour archiver locking in wait_for_wal method
    -   Fix WAL compression detection algorithm
    -   Fix current_action in concurrent stop backup errors
    -   Do not treat lock file busy as an error when validating a backup
jperkin pushed a commit that referenced this issue Sep 9, 2020
4.23 2020-09-05 (rurban)
        - Fixup t/54_stringify change for JSON 2.09 (really use PR #169 madsen)

4.22 2020-09-04 (rurban)
        - Fix t/54_stringify needs JSON 2.09 for allow_unknown (PR #169 madsen)
        - Fix t/118_type.t for 5.6
        - Fix t/96_interop.t for missing JSON::XS (GH #83 ribasushi)
        - Possible fix for s390x with long double, untested (GH #83)

4.21 2020-08-13 (rurban)
        - Fix not enough HEK memory allocation for the new canonical tied hashes
          feature. (GH #168)
        - TODO broken JSON::PP::Boolean versions 2.9x - 4.0 with threads::shared in
          125_shared_boolean.t

4.20 2020-08-12 (rurban)
        - New feature: sort tied hashes with canonical. (GH #167)
        - Fix encode of threads::shared boolean (#166 Sam Bingner).
          This was broken with 4.00.
        - Fix some stringify overload cases via convert_blessed (GH #105)
        - Fix a compat case with JSON::XS, when convert_blessed is set, but
          allow_blessed not. (GH #105)
        - Improve blessed and stringify tests
        - Work on better inf/nan detection on AIX (#165 Peter Heuchert)
        - Fix documentation for booleans and their types (#162 by Karen Etheridge)

4.19 2020-02-06 (rurban)
        - Fix typed decode memory leak (#160 by Pali).

4.18 2019-12-13 (rurban)
        - Add new method ->type_all_string (#156 by Pali).
          When type_all_string is set then encode method produce stable deterministic
          string types in result JSON.
          This can be an alternative to Cpanel::JSON::XS::Type when having
          deterministic output is required but string JSON types are enough for any
          output.
        - Move SvGETMAGIC() from encode_av() and encode_hv() to encode_sv()
          (#156 by Pali)
        - Add Math::BigInt and Math::BigFloat as recommended dependences
          (#157 by Pali and Grinnz)

4.17 2019-11-04 (rurban)
        - Add Changes tests and fixups (see #155)

4.16 2019-11-04 (rurban)
        - Use Perl_strtod instead of self-made atof (via pow), to
          minimize differences from core string-to-float conversions.
          (#154). Fixes float representation regressions (in the 1e-6
          to 1e-16 range) since 5.22.

4.15 2019-10-21 (rurban)
        - Fix more tests for nvtype long double

4.14 2019-10-15 (rurban)
        - Fix tests for nvtype long double (#153)
        - Fix PREREQ's. E.g. CentOS 7 has not Test::More anymore. (#152 by Pali)

4.13 2019-10-14 (rurban)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT allow to encode numeric values
          above 2^64 in PV slot via Math::BigInt/Float (#145, #148, #149 by Pali)
        - For JSON_TYPE_INT and JSON_TYPE_FLOAT encoder allow to pass Math::BigInt
          and Math::BigFloat objects with allow_bignum. (#147 by Pali)
        - Fix encoding floating point values above 2^64 in PV slot to JSON_TYPE_INT
          (#148, #150 by Pali)
        - Do not allow serializing objects when convert_blessed is not enabled.
          (#146 by Pali)

4.12 2019-06-11 (rurban)
        - Make encoder independent on Math::BigInt version (#140 by Pali)
        - Rethrow error from eval_sv and eval_pv() (#138, #139 by Pali),
          e.g. when Math::BigInt/BigFloat fails.
        - Fix encoding Inf and NaN from PV and NV slots to JSON_TYPE_INT
          (#137 by Pali)
        - Fix memory corruption in sv_to_ivuv() function (#136 by Pali)
        - Add new method ->require_types (#135 by Pali)
        - Fix typed json encoder conversion from scalar's PV and NV slot to
          JSON_TYPE_INT (#133, #134 by Pali)
        - Fix inconsistency with warnings in typed json encoder (#131 by Pali)
        - Fix Perl 5.8.0 support (#130 by Pali)
        - Fixed minor pod typo (#129 by sheeit)
        - Document invalid recursive callbacks or overloads (#128)

4.11 2019-03-26 (rurban)
        - Fix unicode strings with BOM corrupt ->utf8 state (#125)
          The BOM encoding effects only its very own decode call,
          not its object.

4.10 2019-03-18 (rurban)
        - Fix incr_text refcounts (#123)
        - Add incr_rest testcase (#123)
        - Fix encode_stringify string-overload refcnt problem (#124)
          "Attempt to free unreferenced scalar" with convert_blessed and overload.

4.09 2019-02-15 (rurban)
        - Add seperate allow_dupkeys property, in relaxed (#122)
        - Fixed allow_dupkeys for the XS slow path
        - Silence 2 -Wunused-value warnings
        - Fix ->unblessed_bool to produce modifiable perl structures (PR #121 by Pali)
jperkin pushed a commit that referenced this issue Nov 6, 2020
Version 1.64.1
--------------

- The BigInt type is now _actually_ available, as it wasn't enabled in the
  1.64.0 release even though it was mentioned in the release notes.

- Closed bugs and merge requests:
  * testCommandLine's Unicode tests failing on Alpine Linux [Philip Chimento,
    #296, !399]
  * build: Various clean-ups [Jan Tojnar, !403]
  * Correctly handle vfunc inout parameters [Marco Trevisan, !404]
  * Fix failed redirect of output in CommandLine tests [Liban Parker, !409]

Version 1.58.6
--------------

- Various backports:
  * Correctly handle vfunc inout parameters [Marco Trevisan]
  * Fix failed redirect of output in CommandLine tests [Liban Parker]
  * Avoid filename conflict when tests run in parallel [Philip Chimento]

Version 1.64.0
--------------

- No change from 1.63.92.

Version 1.63.92
---------------

- Closed bugs and merge requests:
  * object: Use g_irepository_get_object_gtype_interfaces [Colin Walters, Philip
    Chimento, #55, !52]
  * Add -fno-semantic-interposition to -Bsymbolic-functions [Jan Alexander
    Steffens (heftig), #303, !397]
  * examples: add a dbus-client and dbus-service example [Andy Holmes, !398]
  * Various GNOME Shell crashes during GC, mozjs68 regression [Jan Alexander
    Steffens (heftig), Philip Chimento, #301, !396]

Version 1.63.91
---------------

- Closed bugs and merge requests:
  * [mozjs68] Reorganize modules for ESM. [Evan Welsh, Philip Chimento, !383]
  * Various maintenance [Philip Chimento, !388]
  * Fix building GJS master with Visual Studio and update build instructions
    [Chun-wei Fan, !389]
  * Resolve "Gnome Shell crash on GC run with mozjs68" [Philip Chimento, !391]
  * installed-tests/js: Add missing dep on warnlib_typelib [Jan Alexander
    Steffens, !393]
  * object: Cache known unresolvable properties [Daniel van Vugt, Philip
    Chimento, !394, #302]

Version 1.58.5
--------------

- Closed bugs and merge requests:
  * Fix Visual Studio builds of gnome-3-34 (1.58.x) branch [Chun-wei Fan, !392]
  * Can not access GObject properties of classes without GI information [Juan
    Pablo Ugarte, !385, #299]

Version 1.63.90
---------------

- New JS API: The GObject module has gained new overrides:
  GObject.signal_handler_find(), GObject.signal_handlers_block_matched(),
  GObject.signal_handlers_unblock_matched(), and
  GObject.signal_handlers_disconnect_matched(). These overrides replace the
  corresponding C API, which was not idiomatic for JavaScript and was not fully
  functional because it used bare C pointers for some of its functionality.
  See modules/overrides/GObject.js for API documentation.

- New JavaScript features! This version of GJS is based on SpiderMonkey 68, an
  upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60.
  Here are the highlights of the new JavaScript features.
  For more information, look them up on MDN or devdocs.io.

  * New language features
    + The BigInt type, currently a stage 3 proposal in the ES standard, is now
      available.

  * New syntax
    + `globalThis` is now the ES-standard supported way to get the global
      object, no matter what kind of JS environment. The old way, `window`, will
      still work, but is no longer preferred.
    + BigInt literals are expressed by a number with "n" appended to it: for
      example, `1n`, `9007199254740992n`.

  * New APIs
    + String.prototype.trimStart() and String.prototype.trimEnd() now exist and
      are preferred instead of trimLeft() and trimRight() which are nonstandard.
    + String.prototype.matchAll() allows easier access to regex capture groups.
    + Array.prototype.flat() flattens nested arrays, well-known from lodash and
      similar libraries.
    + Array.prototype.flatMap() acts like a reverse filter(), allowing adding
      elements to an array while iterating functional-style.
    + Object.fromEntries() creates an object from iterable key-value pairs.
    + Intl.RelativeTimeFormat is useful for formatting time differences into
      human-readable strings such as "1 day ago".
    + BigInt64Array and BigUint64Array are two new typed array types.

  * New behaviour
    + There are a lot of minor behaviour changes as SpiderMonkey's JS
      implementation conforms ever closer to existing ECMAScript standards and
      adopts new ones. For complete information, read the Firefox developer
      release notes:
      https://developer.mozilla.org/en-US/Firefox/Releases/61#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/62#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/63#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/64#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/65#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/66#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/67#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/68#JavaScript

  * Backwards-incompatible changes
    + The nonstandard String generics were removed. These had only ever been
      implemented by Mozilla and never made it into a standard. (An example of a
      String generic is calling a string method on something that might not be a
      string like this: `String.endsWith(foo, 5)`. The proper way is
      `String.prototype.endsWith.call(foo, 5)` or converting `foo` to a string.)
      This should not pose much of a problem for existing code, since in the
      previous version these would already print a deprecation warning whenever
      they were used.
      You can use `moz68tool` from mozjs-deprecation-tools
      (https://gitlab.gnome.org/ptomato/moz60tool) to scan your code for this
      nonstandard usage.

- Closed bugs and merge requests:
  * invalid import on signal.h [#295, !382, Philip Chimento]
  * SpiderMonkey 68 [#270, !386, Philip Chimento]
  * GObject: Add override for GObject.handler_block_by_func [#290, !371, Philip
    Chimento]

Version 1.63.3
--------------

- Closed bugs and merge requests:
  * JS ERROR: TypeError: this._rooms.get(...) is undefined [Philip Chimento,
    #289, !367]
  * Run CI build with --werror [Philip Chimento, #286, !365]
  * build: Remove Autotools build system [Philip Chimento, !364]
  * gjs-symlink script is incompatible with distro builds [Michael Catanzaro,
    Bastien Nocera, #291, !369, !370]
  * installed-tests: Don't hardcode the path of bash [Ting-Wei Lan, !372]
  * Update Visual Studio build instructions (after migrating to full Meson-based
    builds) [Chun-wei Fan, !375]
  * object: Warn when setting a deprecated property [Florian Müllner, !378]
  * CI: Create mozjs68 CI images [Philip Chimento, !379]
  * Various maintenance [Philip Chimento, !374, !380, !381]

Version 1.58.4
--------------

- Now prints a warning when constructing an unregistered object inheriting from
  GObject (i.e. if you forgot to use GObject.registerClass.) In 1.58.2 this
  would throw an exception, which broke some existing code, so that change was
  reverted in 1.58.3. In this version the check is reinstated, but we log a
  warning instead of throwing an exception, so that people know to fix their
  code, but without breaking things.
  NOTE: In 1.64 (the next stable release) the warning will be changed back into
  an exception, because code with this problem can be subtly broken and cause
  unexpected errors elsewhere. So make sure to fix your code if you get this
  warning.

- Closed bugs and merge requests:
  * GSettings crash fixes [Andy Holmes, !373]

- Memory savings for Cairo objects [Philip Chimento, !374]

- Fix for crash in debug functions [Philip Chimento, !374]

Version 1.63.2
--------------

- There is an option for changing the generated GType name for GObject classes
  created in GJS to a new scheme that is less likely to have collisions. This
  scheme is not yet the default, but you can opt into it by setting
  `GObject.gtypeNameBasedOnJSPath = true;` as early as possible in your
  prograṁ. Doing this may require some changes in Glade files if you use
  composite widget templates.

  We recommend you make this change in your codebase as soon as possible, to
  avoid any surprises in the future.

- New JS API: GObject.Object has gained a stop_emission_by_name() method which
  is a bit more idiomatic than calling GObject.signal_stop_emission_by_name().

- It's now supported to use the "object" attribute in a signal connection in a
  composite widget template in a Glade file.

- Closed bugs and merge requests:
  * CI: Tweak eslint rule for unneeded parentheses [Florian Müllner, !353]
  * Smarter GType name computation [Marco Trevisan, !337]
  * Meson CI [Philip Chimento, !354]
  * Visual Studio builds using Meson [Chun-wei Fan, !355]
  * Hide internal symbols from ABI [Marco Trevisan, #194, !352]
  * Allow creating custom tree models [Giovanni Campagna, #71]
  * build: Fix dist files [Florian Müllner, !357]
  * GObject: Add convenience wrapper for signal_stop_emission_by_name() [Florian
    Müllner, !358]
  * Various maintenance [Philip Chimento, !356]
  * object_instance_props_to_g_parameters should do more check on argv [Philip
    Chimento, #63, !359]
  * Support flat C arrays of structures [Philip Chimento, !361]
  * Gtk Templates: support connectObj argument [Andy Holmes, !363]

- Various build fixes [Philip Chimento]

Version 1.58.2
--------------

- Closed bugs and merge requests:
  * GObject based class initialization checks [Marco Trevisan, Philip Chimento,
    !336]
  * Silently leaked return value of callbacks [Xavier Claessens, Philip
    Chimento, #86, !44]
  * Crash when calling Gio.Initable.async_init with not vfunc_async_init
    implementation [Philip Chimento, #287, !362]
  * [cairo] insufficient checking [Philip Chimento, #49, !360]

- Various crash fixes backported from the development branch that didn't close
  a bug or merge request.

Version 1.63.1
--------------

- Note that the 1.59, 1.60, 1.61, and 1.62 releases are hereby skipped, because
  we are calling the next stable series 1.64 to match gobject-introspection and
  GLib.

- GJS now includes a Meson build system. This is now the preferred way to build
  it; however, the old Autotools build system is still available for a
  transitional period.

- Closed bugs and merge requests:
  * GObject: Add convenience wrapper for signal_handler_(un)block() [Florian
    Müllner, !326]
  * GObject based class initialization checks [Marco Trevisan, Philip Chimento,
    !336]
  * Meson port [Philip Chimento, !338]
  * add http client example [Sonny Piers, !342]
  * Smaller CI, phase 2 [Philip Chimento, !343]
  * add websocket client example [Sonny Piers, !344]
  * Fix Docker images build [Philip Chimento, !345]
  * CI: Use new Docker images [Philip Chimento, !346]
  * docs: Update internal links [Andy Holmes, !348]
  * Don't pass generic marshaller to g_signal_newv() [Niels De Graef, !349]
  * tests: Fail debugger tests if command failed [Philip Chimento, !350]
  * Minor CI image fixes [Philip Chimento, !351]
  * Various fixes [Marco Trevisan, Philip Chimento]

Version 1.58.1
--------------

- Closed bugs and merge requests:
  * Import wiki documentation [Sonny Piers, !341]
  * Smaller CI, phase 1 [Philip Chimento, !339]
  * Crashes after setting child property 'icon-name' on GtkStack then displaying
    another GtkStack [Florian Müllner, #284, !347]
  * GLib.strdelimit crashes [Philip Chimento, #283, !340]

Version 1.58.0
--------------

- No change from 1.57.92.

Version 1.57.92
---------------

- Closed bugs and merge requests:
  * tests: Enable regression test cases for GPtrArrays and GArrays of structures
    [Stéphane Seng, !334]
  * Various maintenance [Philip Chimento, !333, !335]

Version 1.57.91
---------------

- GJS no longer links to libgtk-3. This makes it possible to load the Gtk-4.0
  typelib in GJS and write programs that use GTK 4.

- The heapgraph tool has gained some improvements; it is now possible to print a
  heap graph of multiple targets. You can also mark an object for better
  identification in the heap graph by assigning a magic property: for example,
  myObject.__heapgraph_name = 'Button' will make that object identify itself as
  "Button" in heap graphs.

- Closed bugs and merge requests:
  * Remove usage of Lang in non legacy code [Sonny Piers, !322]
  * GTK4 [Florian Müllner, #99, !328, !330]
  * JS syntax fixes [Marco Trevisan, Philip Chimento, !306, !323]
  * gi: Avoid infinite recursion when converting GValues [Florian Müllner, !329]
  * Implement all GObject-introspection test suites [Philip Chimento, !327,
    !332]
  * Heapgraph improvements [Philip Chimento, !325]

Version 1.57.90
---------------

- New JS API: GLib.Variant has gained a recursiveUnpack() method which
  transforms the variant entirely into a JS object, discarding all type
  information. This can be useful for dealing with a{sv} dictionaries, where
  deepUnpack() will keep the values as GLib.Variant instances in order to
  preserve the type information.

- New JS API: GLib.Variant has gained a deepUnpack() method which is exactly the
  same as the already existing deep_unpack(), but fits with the other camelCase
  APIs that GJS adds.

- Closed bugs and merge requests:
  * Marshalling of GPtrArray broken [#9, !311, Stéphane Seng]
  * Fix locale chooser [!313, Philip Chimento]
  * dbus-wrapper: Remove interface skeleton flush idle on dispose [!312, Marco
    Trevisan]
  * gobject: Use auto-compartment when getting property as well [!316, Florian
    Müllner]
  * modules/signals: Use array destructuring in _emit [!317, Jonas Dreßler]
  * GJS can't call glibtop_init function from libgtop [#259, !319,
    Philip Chimento]
  * GLib's VariantDict is missing lookup [#263, !320, Sonny Piers]
  * toString on an object implementing an interface fails [#252, !299, Marco
    Trevisan]
  * Regression in GstPbutils.Discoverer::discovered callback [#262, !318, Philip
    Chimento]
  * GLib.Variant.deep_unpack not working properly with a{sv} variants [#225,
    !321, Fabián Orccón, Philip Chimento]
  * Various maintenance [!315, Philip Chimento]

- Various CI fixes [Philip Chimento]

Version 1.57.4
--------------

- Closed bugs and merge requests:
  * gjs 1.57 requires a recent sysprof version for sysprof-capture-3 [#258,
    !309, Olivier Fourdan]

- Misc documentation changes [Philip Chimento]

Version 1.57.3
--------------

- The GJS profiler is now integrated directly into Sysprof 3, via the
  GJS_TRACE_FD environment variable. Call stack information and garbage
  collector timing will show up in Sysprof. See also GNOME/Initiatives#10

- New JS API: System.addressOfGObject(obj) will return a string with the hex
  address of the underlying GObject of `obj` if it is a GObject wrapper, or
  throw an exception if it is not. This is intended for debugging.

- New JS API: It's now possible to pass a value from Gio.DBusProxyFlags to the
  constructor of a class created by Gio.DBusProxy.makeProxyWrapper().

- Backwards-incompatible change: Trying to read a write-only property on a DBus
  proxy object, or write a read-only property, will now throw an exception.
  Previously it would fail silently. It seems unlikely any code is relying on
  the old behaviour, and if so then it was probably masking a bug.

- Closed bugs and merge requests:
  * Build failure on Continuous [#253, !300, Philip Chimento]
  * build: Bump glib requirement [!302, Florian Müllner]
  * profiler: avoid clearing 512 bytes of stack [!304, Christian Hergert]
  * system: add addressOfGObject method [!296, Marco Trevisan]
  * Add support for GJS_TRACE_FD [!295, Christian Hergert]
  * Gio: Make possible to pass DBusProxyFlags to proxy wrapper [!297, Marco
    Trevisan]
  * Various maintenance [!301, Philip Chimento]
  * Marshalling of GPtrArray broken [#9, !307, Stéphane Seng]
  * Build fix [!308, Philip Chimento]
  * Gio: sync dbus wrapper properties flags [!298, Marco Trevisan]
  * GjsMaybeOwned: Reduce allocation when used as Object member [!303, Marco
    Trevisan]

Version 1.57.2
--------------

- There are now overrides for Gio.SettingsSchema and Gio.Settings which avoid
  aborting the whole process when trying to access a nonexistent key or child
  schema. The original API from GLib was intended for apps, since apps should
  have complete control over which settings keys they are allowed to access.
  However, it is not a good fit for shell extensions, which may need to access
  different settings keys depending on the version of GNOME shell they're
  running on.

  This feature is based on code from Cinnamon which the copyright holders have
  kindly agreed to relicense to GJS's license.

- New JS API: It is now possible to pass GObject.TypeFlags to
  GObject.registerClass(). For example, passing
  `GTypeFlags: GObject.TypeFlags.ABSTRACT` in the class info object, will create
  a class that cannot be instantiated. This functionality was present in
  Lang.Class but has been missing from GObject.registerClass().

- Closed bugs and merge requests:
  * Document logging features [#230, !288, Andy Holmes]
  * Support optional GTypeFlags value in GObject subclasses [!290, Florian
    Müllner]
  * Ensure const-correctness in C++ objects [#105, !291, Onur Şahin]
  * Programmer errors with GSettings cause segfaults [#205, !284, Philip
    Chimento]
  * Various maintenance [!292, Philip Chimento]
  * debugger: Fix summary help [!293, Florian Müllner]
  * context: Use Heap pointers for GC objects stored in vectors [!294, Philip
    Chimento]

Version 1.56.2
--------------

- Closed bugs and merge requests:
  * Crash in BoxedInstance when struct could not be allocated directly [#240,
    !285, Philip Chimento]
  * Cairo conversion bugs [!286, Philip Chimento]
  * Gjs crashes when binding inherited property to js added gobject-property
    [#246, !289, Marco Trevisan]
  * console: Don't accept --profile after the script name [!287, Philip
    Chimento]

Version 1.57.1
--------------

- Closed bugs and merge requests:
  * Various maintenance [!279, Philip Chimento]
  * mainloop: Assign null to property instead of deleting [!280, Jason Hicks]
  * Added -d version note README.md [!282, Nauman Umer]
  * Extra help for debugger commands [#236, !283, Nauman Umer]
  * Crash in BoxedInstance when struct could not be allocated directly [#240,
    !285, Philip Chimento]
  * Cairo conversion bugs [!286, Philip Chimento]

Version 1.56.1
--------------

- Closed bugs and merge requests:
  * Calling dumpHeap() on non-existent directory causes crash [#134, !277,
    Philip Chimento]
  * Using Gio.MemoryInputStream.new_from_data ("string") causes segfault [#221,
    !278, Philip Chimento]
  * Fix gjs_context_eval() for non-zero-terminated strings [!281, Philip
    Chimento]

Version 1.56.0
--------------

- No change from 1.55.92.

Version 1.55.92
---------------

- Closed bugs and merge requests:
  * Fix CI failures [!269, Philip Chimento]
  * Possible memory allocation/deallocation bug (possibly in js_free() in GJS)
    [!270, Chun-wei Fan, Philip Chimento]
  * cairo-context: Special-case 0-sized vector [!271, Florian Müllner]
  * Add some more eslint rules [!272, Florian Müllner]
  * win32/NMake: Fix introspection builds [!274, Chun-wei Fan]
  * NMake/libgjs-private: Export all the public symbols there [!275, Chun-wei
    Fan]

Version 1.55.91
---------------

- The problem of freezing while running the tests using GCC's sanitizers was
  determined to be a bug in GCC, which was fixed in GCC 9.0.1.

- Closed bugs and merge requests:
  * gnome-sound-recorder crashes deep inside libgjs [#223, !266, Philip
    Chimento]
  * Various maintenance [!267, Philip Chimento]
  * wrapperutils: Define $gtype property as non-enumerable [!268, Philip
    Chimento]

Version 1.55.90
---------------

- New JS API: It's now possible to call and implement DBus methods whose
  parameters or return types include file descriptor lists (type signature 'h'.)
  This involves passing or receiving a Gio.UnixFDList instance along with the
  parameters or return values.

  To call a method with a file descriptor list, pass the Gio.UnixFDList along
  with the rest of the parameters, in any order, the same way you would pass a
  Gio.Cancellable or async callback.

  For return values, things are a little more complicated, in order to avoid
  breaking existing code. Previously, synchronously called DBus proxy methods
  would return an unpacked GVariant. Now, but only if called with a
  Gio.UnixFDList, they will return [unpacked GVariant, Gio.UnixFDList]. This
  does not break existing code because it was not possible to call a method with
  a Gio.UnixFDList before, and the return value is unchanged if not calling with
  a Gio.UnixFDList. This does mean, unfortunately, that if you have a method
  with an 'h' in its return signature but not in its argument signatures, you
  will have to call it with an empty FDList in order to receive an FDList with
  the return value, when calling synchronously.

  On the DBus service side, when receiving a method call, we now pass the
  Gio.UnixFDList received from DBus to the called method. Previously, sync
  methods were passed the parameters, and async methods were passed the
  parameters plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to
  those parameters also should not break existing code.

  See the new tests in installed-tests/js/testGDBus.js for examples of calling
  methods with FD lists.

- We have observed on the CI server that GJS 1.55.90 will hang forever while
  running the test suite compiled with GCC 9.0.0 and configured with the
  --enable-asan and --enable-ubsan arguments. This should be addressed in one of
  the following 1.55.x releases.

- Closed bugs and merge requests:
  * GDBus proxy overrides should support Gio.DBusProxy.call_with_unix_fd_list()
    [#204, !263, Philip Chimento]
  * Add regression tests for GObject vfuncs [!259, Jason Hicks]
  * GjsPrivate: Sources should be C files [!262, Philip Chimento]
  * build: Vendor last-good version of AX_CODE_COVERAGE [!264, Philip Chimento]

Version 1.55.4
--------------

- Closed bugs and merge requests:
  * Various maintenance [!258, Philip Chimento]
  * Boxed copy constructor should not be called, split Boxed into prototype and
    instance structs [#215, !260, Philip Chimento]

Version 1.55.3
--------------

- Closed bugs and merge requests:
  * Manually constructed ByteArray toString segfaults [#219, !254, Philip
    Chimento]
  * signals: Add _signalHandlerIsConnected method [!255, Jason Hicks]
  * Various maintenance [!257, Philip Chimento]

Version 1.52.5
--------------

- This was a release consisting only of backports from the GNOME 3.30 branch to
  the GNOME 3.28 branch.

- This release includes the "Big Hammer" patch from GNOME 3.30 to reduce memory
  usage. For more information, read the blog post at
  https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/
  It was not originally intended to be backported to GNOME 3.28, but in practice
  several Linux distributions already backported it, and it has been working
  well to reduce memory usage, and the bugs have been ironed out of it.

  It does decrease performance somewhat, so if you don't want that then don't
  install this update.

- Closed bugs and merge requests:

  * Ensure not to miss the force_gc flag [#150, !132, Carlos Garnacho]
  * Make GC much more aggressive [#62, !50, Giovanni Campagna, Georges Basile
    Stavracas Neto, Philip Chimento]
  * Queue GC when a GObject reference is toggled down [#140, !114, !127, Georges
    Basile Stavracas Neto]
  * Reduce memory overhead of g_object_weak_ref() [#144, !122, Carlos Garnacho,
    Philip Chimento]
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * Use compacting GC on RSS size growth [!133, #151, Carlos Garnacho]
  * GType memleak fixes [!244, Marco Trevisan]

Version 1.55.2
--------------

- Closed bugs and merge requests:
  * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
    Trevisan]
  * Various maintenance [!235, !250, Philip Chimento]
  * Auto pointers builder [!243, Marco Trevisan]
  * configure.ac: Update bug link [!245, Andrea Azzarone]
  * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone, Philip
    Chimento]
  * Fix build with --enable-dtrace and create CI job to ensure it doesn't break
    in the future [#196, !237, !253, Philip Chimento]
  * Delay JSString-to-UTF8 conversion [!249, Philip Chimento]
  * Annotate return values [!251, Philip Chimento]
  * Fix a regression with GError toString() [!252, Philip Chimento]
  * GType memleak fixes [!244, Marco Trevisan]
  * Atoms refactor [!233, Philip Chimento, Marco Trevisan]
  * Write a "Code Hospitable" README file [#17, !248, Philip Chimento, Andy
    Holmes, Avi Zajac]
  * object: Method lookup repeatedly traverses introspection [#54, !53, Colin
    Walters, Philip Chimento]
  * Handler of GtkEditable::insert-text signal is not run [#147, !143, Tomasz
    Miąsko, Philip Chimento]

Version 1.54.3
--------------

- Closed bugs and merge requests:
  * object: Fix write-only properties [!246, Philip Chimento]
  * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone]
  * SelectionData.get_targets crashes with "Unable to resize vector" [#201,
    !241, Philip Chimento]
  * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco
    Trevisan]
  * GType memleak fixes [!244, Marco Trevisan]
  * Fix build with --enable-dtrace and create CI job to ensure it doesn't break
    in the future [#196, !253, Philip Chimento]

Version 1.54.2
--------------

- Closed bugs and merge requests:
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * fundamental: Check if gtype is valid before using it [!242, Georges Basile
    Stavracas Neto]

- Backported a fix for a crash in the interactive interpreter when executing
  something like `throw "foo"` [Philip Chimento]

- Backported various maintenance from 3.31 [Philip Chimento]

Version 1.55.1
--------------

- New API for programs that embed GJS: gjs_memory_report(). This was already an
  internal API, but now it is exported.

- Closed bugs and merge requests:

  * object: Implement newEnumerate hook for GObject [!155, Ole Jørgen Brønner]
  * Various maintenance [!228, Philip Chimento]
  * ByteArray.toString should stop at null bytes [#195, !232, Philip Chimento]
  * Byte arrays that represent encoded strings should be 0-terminated [#203,
    !232, Philip Chimento]
  * context: Defer and therefore batch forced GC runs [performance] [!236,
    Daniel van Vugt]
  * context: use timeout with seconds to schedule a gc trigger [!239, Marco
    Trevisan]
  * arg: Add special-case for byte arrays going to C [#67, !49, Jasper
    St. Pierre, Philip Chimento]

Version 1.52.4
--------------

- This was a release consisting only of backports from the GNOME 3.30 branch to
  the GNOME 3.28 branch.

- Closed bugs and merge requests:

  * `ARGV` encoding issues [#22, !108, Evan Welsh]
  * Segfault on enumeration of GjSFileImporter properties when a searchpath
    entry contains a symlink [#154, !144, Ole Jørgen Brønner]
  * Possible refcounting bug around GtkListbox signal handlers [#24, !154,
    Philip Chimento]
  * Fix up GJS_DISABLE_JIT flag now the JIT is enabled by default in
    SpiderMonkey [!159, Christopher Wheeldon]
  * Expose GObject static property symbols. [!197, Evan Welsh]
  * Do not run linters on tagged commits [!181, Claudio André]
  * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
    Chimento]
  * gjs no longer builds after recent autoconf-archive updates [#149, !217,
    Philip Chimento]

Version 1.54.1
--------------

- Closed bugs and merge requests:
  * legacy: Ensure generated GType names are valid [!229, Florian Müllner]
  * Fix GJS profiler with MozJS 60 [!230, Georges Basile Stavracas Neto]
  * Regression with DBus proxies [#202, !231, Philip Chimento]

Version 1.54.0
--------------

- Compatibility fix for byte arrays: the legacy toString() behaviour of byte
  arrays returned from GObject-introspected functions is now restored. If you
  use the functionality, a warning will be logged asking you to upgrade your
  code.

- Closed bugs and merge requests:
  * byteArray: Add compatibility toString property [Philip Chimento, !227]

Version 1.53.92
---------------

- Technology preview of a GNOME 3.32 feature: native Promises for GIO-style
  asynchronous operations. This is the result of Avi Zajac's summer internship.
  To use it, you can opt in once for each specific asynchronous method, by
  including code such as the following:

      Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async',
          'read_bytes_finish');

  After executing this, you will be able to use native Promises with the
  Gio.InputStream.prototype.read_async() method, simply by not passing a
  callback to it:

      try {
          let bytes = await stream.read_bytes_async(count, priority, cancel);
      } catch (e) {
          logError(e, 'Failed to read bytes');
      }

  Note that any "success" boolean return values are deleted from the array of
  return values from the async method. That is,

      let [contents, etag] = file.load_contents_async(cancel);

  whereas the callback version still returns a useless [ok, contents, etag]
  that can never be false, since on false an exception would be thrown. In the
  callback version, we must keep this for compatibility reasons.

  Note that due to a bug in GJS (https://gitlab.gnome.org/GNOME/gjs/issues/189),
  promisifying methods on Gio.File.prototype and other interface prototypes will
  not work. We provide the API Gio._LocalFilePrototype on which you can
  promisify methods that will work on Gio.File instances on the local disk only:

      Gio._promisify(Gio._LocalFilePrototype, 'load_contents_async',
          'load_contents_finish');

  We estimate this will cover many common use cases.

  Since this is a technology preview, we do not guarantee API stability with
  the version coming in GNOME 3.32. These APIs are marked with underscores to
  emphasize that they are not stable yet. Use them at your own risk.

- Closed bugs and merge requests:
  * Added promisify to GJS GIO overrides [!225, Avi Zajac]
  * Temporary fix for Gio.File.prototype [!226, Avi Zajac]

Version 1.53.91
---------------

- Closed bugs and merge requests:
  * CI: add webkit and gtk-app tests [!222, Claudio André]
  * Fix example eslint errors [!207, Claudio André, Philip Chimento]
  * Fix more "lost" GInterface properties [!223, Florian Müllner]
  * Fix --enable-installed-tests when built from a tarball [!224, Simon
    McVittie]

Version 1.53.90
---------------

- GJS now depends on SpiderMonkey 60 and requires a compiler capable of C++14.

- GJS includes a simple debugger now. It has basic stepping, breaking, and
  printing commands, that work like GDB. Activate it by running the GJS console
  interpreter with the -d or --debugger flag before the name of the JS program
  on the command line.

- New API for programs that embed GJS: gjs_context_setup_debugger_console().
  To integrate the debugger into programs that embed the GJS interpreter, call
  this before executing the JS program.

- New JavaScript features! This version of GJS is based on SpiderMonkey 60, an
  upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52.
  Here are the highlights of the new JavaScript features.
  For more information, look them up on MDN or devdocs.io.

  * New syntax
    + `for await (... of ...)` syntax is used for async iteration.
    + The rest operator is now supported in object destructuring: e.g.
      `({a, b, ...cd} = {a: 1, b: 2, c: 3, d: 4});`
    + The spread operator is now supported in object literals: e.g.
      `mergedObject = {...obj1, ...obj2};`
    + Generator methods can now be async, using the `async function*` syntax,
      or `async* f() {...}` method shorthand.
    + It's now allowed to omit the variable binding from a catch statement, if
      you don't need to access the thrown exception: `try {...} catch {}`

  * New APIs
    + Promise.prototype.finally(), popular in many third-party Promise
      libraries, is now available natively.
    + String.prototype.toLocaleLowerCase() and
      String.prototype.toLocaleUpperCase() now take an optional locale or
      array of locales.
    + Intl.PluralRules is now available.
    + Intl.NumberFormat.protoype.formatToParts() is now available.
    + Intl.Collator now has a caseFirst option.
    + Intl.DateTimeFormat now has an hourCycle option.

  * New behaviour
    + There are a lot of minor behaviour changes as SpiderMonkey's JS
      implementation conforms ever closer to ECMAScript standards. For complete
      information, read the Firefox developer release notes:
      https://developer.mozilla.org/en-US/Firefox/Releases/53#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/54#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/55#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/56#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/57#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/58#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/59#JavaScript
      https://developer.mozilla.org/en-US/Firefox/Releases/60#JavaScript

  * Backwards-incompatible changes
    + Conditional catch clauses have been removed, as they were a Mozilla
      extension which will not be standardized. This requires some attention in
      GJS programs, as previously we condoned code like `catch (e if
      e.matches(Gio.IOError, Gio.IOError.EXISTS))`  with a comment in
      overrides/GLib.js, so it's likely this is used in several places.
    + The nonstandard `for each (... in ...)` loop was removed.
    + The nonstandard legacy lambda syntax (`function(x) x*x`) was removed.
    + The nonstandard Mozilla iteration protocol was removed, as well as
      nonstandard Mozilla generators, including the Iterator and StopIteration
      objects, and the Function.prototype.isGenerator() method.
    + Array comprehensions and generator comprehensions have been removed.
    + Several nonstandard methods were removed: ArrayBuffer.slice() (but not
      the standard version, ArrayBuffer.prototype.slice()),
      Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(),
      Object.prototype.watch(), and Object.prototype.unwatch().

- Many of the above backwards-incompatible changes can be caught by scanning
  your source code using https://gitlab.gnome.org/ptomato/moz60tool, or
  https://extensions.gnome.org/extension/1455/spidermonkey-60-migration-validator/

- Deprecation: the custom ByteArray is now discouraged. Instead of ByteArray,
  use Javascript's native Uint8Array. The ByteArray module still contains
  functions for converting between byte arrays, strings, and GLib.Bytes
  instances.

  The old ByteArray will continue to work as before, except that Uint8Array
  will now be returned from introspected functions that previously returned a
  ByteArray. To keep your old code working, change this:

      let byteArray = functionThatReturnsByteArray();

  to this:

      let byteArray = new ByteArray.ByteArray(functionThatReturnsByteArray());

  To port to the new code:

  * ByteArray.ByteArray -> Uint8Array
  * ByteArray.fromArray() -> Uint8Array.from()
  * ByteArray.ByteArray.prototype.toString() -> ByteArray.toString()
  * ByteArray.ByteArray.prototype.toGBytes() -> ByteArray.toGBytes()
  * ByteArray.fromString(), ByteArray.fromGBytes() remain the same

  * Unlike ByteArray, Uint8Array's length is fixed. Assigning an element past
    the end of a ByteArray would lengthen the array. Now, it is ignored.
    Instead use Uint8Array.of(), for example, this code:

        let a = ByteArray.fromArray([97, 98, 99, 100]);
        a[4] = 101;

    should be replaced by this code:

        let a = Uint8Array.from([97, 98, 99, 100]);
        a = Uint8Array.of(...a, 101);

    The length of the byte array must be set at creation time. This code will
    not work anymore:

        let a = new ByteArray.ByteArray();
        a[0] = 255;

    Instead, use "new Uint8Array(1)" to reserve the correct length.

- Closed bugs and merge requests:

  * Run tests using real software [#178, !192, Claudio André]
  * Script tests are missing some errors [#179, !192, Claudio André]
  * Create a '--disable-readline' option and use it [!196, Claudio André]
  * CI: stop using Fedora for clang builds [!198, Claudio André]
  * Expose GObject static property symbols. [!197, Evan Welsh]
  * CI fixes [!200, Claudio André]
  * Docker images creation [!201, Claudio André]
  * Get Docker images built and stored in GJS registry [#185, !203, !208,
    Claudio André, Philip Chimento]
  * Clear the static analysis image a bit more [!205, Claudio André]
  * Rename the packaging job to flatpak [!210, Claudio André]
  * Create SpiderMonkey 60 docker images [!202, Claudio André]
  * Debugger [#110, !204, Philip Chimento]
  * Add convenience g_object_set() replacement [!213, Florian Müllner]
  * Add dependencies of the real tests (examples) [!215, Claudio André]
  * CWE-126 [#174, !218, Philip Chimento]
  * gjs no longer builds after recent autoconf-archive updates [#149, !217,
    Philip Chimento]
  * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip
    Chimento]
  * Run the GTK real tests (recently added) [!212, Claudio André]
  * Fix thorough tests failures [!220, Philip Chimento]
  * Port to SpiderMonkey 60 [#161, !199, Philip Chimento]
  * Replace ByteArray with native ES6 TypedArray [#5, !199, Philip Chimento]
  * Overriding GInterface properties broke [#186, !216, Florian Müllner, Philip
    Chimento]
  * Avoid segfault when checking for GByteArray [!221, Florian Müllner]

- Various build fixes [Philip Chimento]
jperkin pushed a commit that referenced this issue Dec 28, 2020
Change since 1.3.1 from RELEASE_NOTES

1.4.0           2018/06/??
        Add ARC support.  Extensive work contributed by ValiMail.
        Add "DomainWhitelist" and "DomainWhitelistFile" config options.
        Extract client IP address for ARC reports when provided via
                Authentication-Results.
        Update SQL schema to support new reporting functionality for DKIM
                selectors and ARC local policy overrides (refer to the example
                schema.mysql file).
        Add experimental support for reporting of ARC local policy overrides.
        Add support for recording and reporting of DKIM selectors.
        Override a DMARC "fail" if an ARC "pass" is recorded in conjunction with
                an ARC policy pass.
        Fix bug #137: Handle base64 inside AR tokens that are values.
                Problem reported by Joseph Coffland.
        LIBOPENDMARC: Fix bug #203: Reject DMARC records that have duplicate
                tags in them.  Reported by Dirk Stoecker.
        REPORTS: Feature request #146: Add option to pull input from a file.
        REPORTS: Fix bug #153: Suppress duplicate results from the same
                domain.  Patch from Tomki Camp.

1.3.2           2017/03/04
        Feature request #86: Change meaning of "RequiredHeaders" such that
                header validity is always checked, but messages are only
                rejected on that basis when the flag is set.  Based
                on a patch from Andreas Schulze.
        Feature request #127: Log SPF results when rejecting.  Requested
                by Patrick Wagner; patch from Andreas Schulze, follow-up
                patch from Juri Haberland.
        Feature request #138: Inculde policy and disposition information
                in an Authentication-Results comment.  Based on a patch
                from Juri Haberland.
        Feature request #139: Include the client host name if known
                in failure reports.  Suggested by Roland Turner;
                patch by Andreas Schulze.
        Fix bug #95: Assume IPv6 for SPF operations.  Patch from Juri Haberland.
        Fix bug #120: Fix control logic around the SPF result.
                Reported by Christophe Wolfhugel; patch from Andreas Schulze.
        Fix bug #122: Don't skip the HELO milter phase when SPF is enabled.
                Reported by Christophe Wolfhugel.
        Fix bug #157: Fix logging of implicit authserv-ids.  Reported
                by Andreas Schulze; patch from Juri Haberland.
        Fix bug #158: Log ignored connections.  Patch from Andreas Schulze.
        Fix bug #160: Fix "SyslogFacility" handling.  Patch from
                Juri Haberland.
        Fix bug #163: Use a larger buffer for the raw MAIL FROM value.
                Based on a patch from Andreas Schulze.
        Fix bug #174: Trim "!" suffixes from reporting addresses.  Problem
                noted by Juri Haberland.
        Fix bug #186: When reloading the configuration file, the public
                suffix list was read in with the wrong comment indicator.
                Patch from Federico Omoto.
        Fix bug #194: Fix inappropriate DMARC status when "p=none" is
                discovered.  Patch from Juri Haberland.
        Fix bug #195: When parsing Received-SPF, use the correct constants
                in the history file entries.  Patch from Juri Haberland.
        LIBOPENDMARC: Fix bug #115: Fix type mismatch.  Patch from
                Sebastian A. Siewior via Scott Kitterman.
        LIBOPENDMARC: Fix bug #121: Fix IPv6 CIDR matching in SPF code.
                Patch from Christophe Wolfhugel.
        LIBOPENDMARC: Fix bug #125: Compile time IPv6 fix.  Reported by
                Christophe Wolfhugel.
        LIBOPENDMARC: Fix bug #131: Fix alignment bug.  Patch from
                Andreas Schulze.
        LIBOPENDMARC: Fix bug #147: Fix stripping of whitespace from
                DMARC DNS records.  Based on a patch from Job Noorman.
        LIBOPENDMARC: Fix bug #149: Apply "sp" setting, if present and
                applicable.  Patch from Petr Novak.
        LIBOPENDMARC: Fix bug #154: Fix "rf" and "fo" processing logic.
        LIBOPENDMARC: Fix bug #156: Fix variable name.  Patch by
                Andreas Schulze.
        LIBOPENDMARC: Fix bug #165: Fix logic in checking which SPF
                identifier was used.  Patches from Marco Favero and
                Juri Haberland.
        LIBOPENDMARC: Fix bug #167: Don't return "fail" when we should
                return "none".  Patch from Marco Favero.
        REPORTS: Fix bug #134: Handle SMTP errors correctly.  Patch from
                Andreas Schulze.
        REPORTS: Fix bug #141: Set the HELO parameter correctly.
                Reported by Alan Smith; patch from Andreas Schulze.
        REPORTS: Fix bug #143: Fix logic in table truncation.
                Reported by Wayne Andersen; patch from Juri Haberland.
        REPORTS: Fix bug #162: Always report "sp" in aggregate reports.
                Patch from Juri Haberland.
        REPORTS: Fix bug #166: Fix report start/end time logic.
                Patch from Juri Haberland.
        REPORTS: Fix bug #188: Don't delete inputs too early in
                opendmarc-reports.  Patch from Juri Haberland.
        TOOLS: Fix bug #161: "Forensic" reports were renamed "Failure"
                reports.  Patch from Andreas Schulze.
        TOOLS: Fix bug #164: Handle IPv6 test addresses.  Reported by
                Andreas Schulze; patch from Juri Haberland.
        DOCS: Patch #189: Replace the DMARC RFC with an HTML page
                referencing the relevant specs, since Debian doesn't
                consider RFCs to be "free".  Patch from Scott Kitterman
                via Juri Haberland.
jperkin pushed a commit that referenced this issue Feb 23, 2021
Changelog:
What's New in libchewing 0.5.1 (May 18, 2016)
---------------------------------------------------------
* Bug fixed:
  - Fix wrong CHEWING_DATADIR definition in CMake build #222.
  - Fix j, k selection when symbol in between #149 #221.


What's New in libchewing 0.5.0 (May 2, 2016)
---------------------------------------------------------
* New feature
  - Add Carpalx keyboard layout support #217.

* Dictionary
  - Update dictionary #151 #155 #188 #191 #201.
  - Add debug tool: dump_database.
  - Sort tsi.src #212.

* Misc
  - Tweak several comments.
  - Fix libchewing document.
  - Remove old/dead code.
  - Improve code readability and consistency.
  - Update automake syntax #114.
  - Add test cases #169 #177.
  - Update Python sample code.
  - Add debug tool dump_database.
  - Integrate coverity scan in https://scan.coverity.com/.

* Platform-specific
  - Update README for OS X.
  - Set WITH_INTERNAL_SQLITE3 to true by default in MS-Windows.
  - Fix Visual Studio compiling warnings/errors #168 #171 #189 #190 #213.
  - Add a cmake option BUILD_DLL to enable building *.dll with MS VC++ #185.
  - Make the python binding of libchewing support Windows dll files #186.
  - Don't use SIGSTOP in MS-Windows.

* Bug fixed
  - Check if ld supports --no-defined #144.
  - Fix unexpected candidate disorder for '1' #153
  - Replace bash-izm '==' operator with '=' for test(1) # 158.
  - Fix several Coverity errors #172 #173.
  - Fix ChewingKillChar which is disabling OpenSymbolChoice #160 #181.
  - ㄅ cannot overwrite ㄆ in HSU and ET26 #170 #183.

* Successful stories:
  - Rime Input Method Engine (RIME) takes partial dictionary from
    libchewing.
  - PIME (writing input methods for Windows easily with Python) supports
    Chewing IM by default.
jperkin pushed a commit that referenced this issue May 4, 2021
1.90 2021-01-21
	- New stable release incorporating all changes from developer releases
	  1.89_01 to 1.89_05.
	- Summary of major changes since version 1.88:
	  - Formalised libssl version support policy: all stable versions of OpenSSL
	    in the 0.9.8 - 1.1.1 branches (with the exception of 0.9.8 - 0.9.8b) and
	    all stable releases of LibreSSL in the 2.0 - 3.1 series are supported.
	    The LibreSSL 3.2 series is not yet fully supported because its TLSv1.3
	    implementation is not currently libssl-compatible.
	  - Added support for LibreSSL on Windows when built with Visual C++.
	  - Exposed P_X509_CRL_add_extensions, several SSL_CIPHER functions, and
	    several stack functions.
	  - Fixed crashes in the callback functions CTX_set_next_proto_select_cb and
	    CTX_set_alpn_select_cb.
	  - The test suite is now compatible with OpenSSL 1.1.1e onwards, as well as
	    OpenSSL security level 2 (the default on many Linux distributions).

1.89_05 2021-01-21
	- Expose SSL_get_ciphers. Thanks to github user dylc5190.
	- Expose SSL_CIPHER_get_version and fix SSL_CIPHER_description
	  and SSL_CIPHER_get_bits. Also fixed and enhanced
	  documentation for these and related SSL_CIPHER functions.
	- Clarify libssl version support policy: all stable versions of OpenSSL in
	  the 0.9.8 - 1.1.1 branches (with the exception of 0.9.8 - 0.9.8b) and all
	  stable releases of LibreSSL in the 2.0 - 3.1 series are supported.
	- Direct bug reports to the GitHub repository, since rt.cpan.org will shut
	  down on 2021-03-01.

1.89_04 2021-01-13
	- Fix crashes in the callback functions CTX_set_next_proto_select_cb() and
	  CTX_set_alpn_select_cb() caused by the use of a pointer returned by
	  SSL_select_next_proto() which may already have been freed under certain
	  circumstances. Fixes GH-222. Thanks to dylc5190 for the report.
	- Remove the dependency on the AES128-SHA cipher suite in the test script
	  64_ticket_sharing.t. Fixes GH-231.
	- Remove checks and warnings in Makefile.PL relating to the use of RSAref,
	  which was removed from OpenSSL in version 0.9.7.

1.89_03 2020-12-12
	- Expose the following functions:
	  - X509_STORE_CTX_get0_cert, X509_STORE_CTX_get1_chain
	  - sk_X509_pop, sk_X509_shift, sk_X509_unshift,
	  - sk_X509_insert, sk_X509_delete, sk_x509_value, sk_X509_num
	  Thanks to Dan Freed.
	- Correct the minimum OpenSSL version required for the following functions
	  to be made available (previously they were all declared to be present in
	  1.1.0-pre1, which caused Net::SSLeay to crash at run-time when built
	  against OpenSSL versions between 1.1.0-pre1 and 1.1.0-pre3):
	  - CTX_set_max_proto_version (added in 1.1.0-pre2)
	  - CTX_set_min_proto_version (added in 1.1.0-pre2)
	  - SESSION_up_ref (added in 1.1.0-pre4)
	  - set_max_proto_version (added in 1.1.0-pre2)
	  - set_min_proto_version (added in 1.1.0-pre2)
	- Correct the minimum OpenSSL version required for get_SSL_CTX and SSL_ctrl
	  to be made available (previously they were declared to be present from
	  0.9.8f onwards, when in reality they are available in all 0.9.8 versions).
	- Replace the PKI used by the test suite with one generated by the
	  generate-test-pki helper script. All entities in the new PKI have 2048-bit
	  RSA private keys and CSRs, certificates and CRLs with SHA-256 digests,
	  allowing the test suite to execute under OpenSSL security level 2 (now the
	  default security level for OpenSSL in many Linux distributions).
	- Initialise libssl consistently in the test suite.
	- Don't rely on the availability of specific SSL/TLS protocol versions or
	  cipher suites in the test suite; instead, dynamically select from any of
	  the available protocol versions and cipher suites permitted by libssl.
	  Fixes RT#132425. Thanks to Graham Ollis for the initial report of the test
	  suite failing on Ubuntu 20.04 with the Ubuntu-packaged OpenSSL, whose
	  configuration forbids the use of TLSv1.1 and below at run-time by default.

1.89_02 2020-08-07
	- Add support for the P_X509_CRL_add_extensions function. Thanks to
	  Manuel Mausz for the patch.
	- X509_get_subjectAltNames now knows how to return
	  GEN_RID. The returned value is an ASN OID in text format
	  with current maximum length of 2500 characters. Updated
	  t/local/33_x509_create_cert.t to use GEN_RID and all other
	  supported types with certificate request and signed
	  certificate. These relate to GitHub issue GH-149 opened by
	  s482dcaw.
	- Support for 64-bit Windows versions of OpenSSL from 1.0.0-beta1
	  through to 1.0.0b has been withdrawn due to malfunctions occurring in
	  Perl programs that use fork(). This mainly affects users of Strawberry
	  Perl x64 5.12.3.20180709, which ships with OpenSSL 1.0.0-beta4.
	  Affected users should build Net-SSLeay against OpenSSL 1.0.0c or
	  above; users of Strawberry Perl x64 5.12.3.20180709 may instead find
	  it easier to upgrade to Strawberry Perl x64 5.14.4.1 or above. See
	  radiator-software/p5-net-ssleay#189 for more
	  information.

1.89_01 2020-03-22
	- Fix the repository URL in Makefile.PL (git:// rather than git@),
	  which was preventing it from being added to META.json. Thanks to
	  Dan Book.
	- When building Net-SSLeay, exit if an OpenSSL executable cannot be
	  found in PATH. Fixes RT#131060. Thanks to Nigel Horne for the report.
	- Remove non-OCSP external tests, many of which unnecessarily duplicate
	  local tests or fail for reasons outside of our control. Fixes
	  RT#129542. Thanks to Andreas Vögele for the bug report that
	  ultimately led to this change.
	- Add support for LibreSSL on Windows when built with Visual C++.
	  Thanks to Graham Ollis for the patch.
	- In SSL_CTX_free() and SSL_free(), clean callback-related data from
	  the global hash after freeing ctx, not before. This allows callbacks
	  to be executed during freeing. Thanks to Steffen Ullrich for the
	  patch.
	- t/local/07_sslecho.t started failing with OpenSSL 1.1.1e. Updated
	  the test file with missing calls to Net::SSLeay::shutdown(). Also
	  added one call in SSLeay.pm sslcat() function. Enabling SSLeay trace
	  level 3 showed 'unexpected eof while reading' errors which were added
	  to OpenSSL with commit db943f43. This fixes GitHub issue GH-160
	  reported by Brett T. Warden.
	- t/local/01_pod.t now requires Test::Pod 1.41 to work with Pod syntax
	  used with Net::SSLeay 1.88 and later. This fixes GitHub issue GH-147
	  reported by Ulrik Haugen.
jperkin pushed a commit that referenced this issue May 11, 2021
2.2.5 (2021-04-15)

* Fix argument forwarding on Ruby 2.7 [#149]

2.2.4 (2021-04-12)

* Add reload to close all connections, recreating them afterwards [Andrew
  Marshall, #140]
* Add then as a way to use a pool or a bare connection with the same code
  path [#138]
jperkin pushed a commit that referenced this issue Jun 4, 2021
# pkgload 1.2.1

* `unload()` no longer unregisters methods for generics of the package being unloaded. This way dangling references to generics defined in the stale namespace still work as expected (r-lib/vctrs#1341).
* `load_all()` will now work for packages that have testthat tests but do not have testthat installed (#151)
* The `pkgbuild` dependency has been moved to `Suggests`, as it is only needed for packages with compiled code.

* `load_all()` will now work for packages that have testthat tests but do not have testthat installed (#151)

* `load_all(warn_conflicts = TRUE)` becomes more narrow and only warns when a *function* in the global environment masks a *function* in the package, consistent with the docs (#125, #143 @jennybc).

* `load_all()` no longer does a comprehensive check on the `DESCRIPTION` file when loading, instead just checking that it exists and starts with Package (#149, @malcolmbarrett)

* `unload()` no longer warns when it can't unload a namespace.

# pkgload 1.2.0

* Fix test failure in R 4.1 with regards to S4 method registration

* `load_all()` now preserves existing namespaces in working order. In
  particular, it doesn't unload the package's shared library and keeps
  it loaded instead. When reloading, a copy of the SO for the new
  namespace is loaded from a temporary location. These temporary SOs
  are only unloaded on GC and deleted from their temporary location
  via a weak reference attached to the namespace.

  This mechanism ensures that lingering references to the namespace
  keep working as expected. Consequently the namespace
  propagation routine that was added to pkgload as a workaround has
  been removed.

  Note that `.Call()` invocations that pass a string symbol rather
  than a structured symbol may keep crashing, because R will look into
  the most recently loaded SO of a given name. Since symbol
  registration is now the norm, we don't expect this to cause much
  trouble.

* `load_all()` no longer forces all bindings of a namespace to avoid
  lazy-load errors. Instead, it removes exported S3 methods from the
  relevant tables.

  - This improves the loading behaviour with packages that define
    objects in their namespaces lazily (e.g. with `delayedAssign()`).

  - This also makes `load_all()` more predictable after a method has
    been removed from the package. It is now actually removed from the
    generic table. It would previously linger until R was restarted.

* If `load_all()` attaches testthat, it automatically suppresses conflicts.
jperkin pushed a commit that referenced this issue Aug 31, 2021
# later 1.3.0

* Closed #148: When later was attached, `parallel::makeForkCluster()`
  would fail. (#149)

* Fixed #150: It was possible for callbacks to execute in the wrong
  order if the clock time was changed in between the scheduling of two
  callbacks. (#151)
jperkin pushed a commit that referenced this issue Nov 28, 2021
pkgsrc chnage: fix CATEGORIES from www to mail.

3.4.1 (2021-11-16)

1 bugfix:

* Fixed a Ruby < 2.3 incompatibility introduced by the use of standardrb,
  where <<- heredocs were converted to <<~ heredocs. These have been
  reverted back to <<- with the indentation kept and a .strip call to
  prevent excess whitespace.

3.4.0 (2021-11-15)

1 minor enhancement:

* Added a new field to MIME::Type for checking provisional registrations
  from IANA. [#157]

Documentation:

* Kevin Menard synced the documentation so that all examples are
  correct. #153

Administrivia:

* Added Ruby 3.0 to the CI test matrix. Added windows/jruby to the CI
  exclusion list; it refuses to run successfully.
* Removed the Travis CI configuration and changed it to Github Workflows
  #150. Removed Coveralls configuration.
* Igor Victor added TruffleRuby to the Travis CI configuration. #149
* Koichi ITO loosened an excessively tight dependency. #147
* Started using standardrb for Ruby formatting and validation.
* Moved deps:top functionality to a support file.
jperkin pushed a commit that referenced this issue Jan 18, 2022
ChangeLog:

2022-01-04 1.5

- NEW: replace asserts with human errors (#162)
- NEW: zsh completion (#158)
- FIX: stdin filter on Windows (#
- FIX: several cleanups
- NEW: Meson build
- UPD: snap to newer base (#149)
- NEW: option to deduplicate keys (#143, #145)
- NEW: Filter functionality (#141)
- FIX: file embedding
- FIX: add missing tests to Makefile.am
jperkin pushed a commit that referenced this issue Apr 11, 2022
Change log:

1.0.0
======
Stable release including improvements introduced in versions 0.9.0, 0.9.1 and 0.9.2.
The Shortcuts Editor requires libxfce4ui 4.17.2 or greater.

Fixes
- Remove remaining libxfce4ui 4.16 version guards

Translation Updates:
  Danish, Greek, Russian, Turkish

0.9.2
======
This is a RELEASE CANDIDATE for 1.0.0. If you want to help keep xfce4-terminal
bug-free you can test this release and report any problems you encounter.

DEPENDENCIES UPDATED:
- VTE: 0.51.3
- Xfce-libs: 4.16.0

General Improvements:
- Use XfceTitledDialog for `Find` (Issue #168)
- Include '\r' in unsafe-paste checks
- Update tab accelerators at runtime
- Consume events that activate accelerator callbacks (Issues #159 #153)

Shortcuts editor (depends on libxfce4ui 4.17):
- Center on the active terminal window.
- Change handling of goto-tab accelerators so they can be changed through the editor.

Regressions fixed:
- Menubar changes size when the window is maximized (Issue #156)
- Context Menu: Revert changes in order and contents introduced by the transition to XfceGtkActionEntries
- Add "Show Window Borders" entry in View menu (it was missing in the last 2 dev releases)
- Revert view menu order (Zoom entries below checkboxes)
- Fix the visibility flag of the scrollbar (Issue #161, could lead to broken themes)

Other:
- Replace GTimeVal with gint64
- Fix build warnings
- Update Copyright

Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post
  1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian

0.9.1
======
This is a development release.

New features:
- Use GtkScrolledWindow for TerminalScreen and add an overlay-scrolling preference (Issue #149)
- Support the new Shortcuts editor widget (requires libxfce4ui 4.17.2 or greater)
- New preference: Select right click action

Enhancements:
- Improved `scrolling-on-output` behaviour.
- Unsafe Paste Dialog temporary override (Issue #106)

Fixes:
- Fix regression: File Menu missing `Close Window` entry
- Fix regression: Disable Help shortcut does not work
- Fix regression: go-to accelerators not working on startup
- Fix regression: Revert accelerator paths to maintain backwards compatibility
- Use the latest .glade file structure

Documentation:
- Change incorrect reference to ${XDG_CONFIG_DIRS} in man page (Issue #47)
- Change outdated documentation links

- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post
  1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian

0.9.0
======
This is a development release.

- Replace the deprecated GtkActionEntries with XfceGtkActionEntries (Issue #79)
- Opening a dialog from a drop-down window closes the window (Issue #136)
- Add `Fill` background image style (MR !23).
- Improved options parsing (for both short and long forms)
- Add a menu entry to send signals to the foreground process (Issue #59)
- Fix `keep window open` preference being applied on restart.
- Rework "--tab" and "--window" behavior (Issue #13)
- Ignore unused modifiers for scroll wheel zooming
- Add alternative shortcuts for zooming (Issue #126)
- Expand scrolled window and make dialog size 70% of parent (!17)
- Support libxfce4ui XfceTitledDialog new API

Unsafe Paste Dialog:
- Update unsafe paste dialog text (Issue #73)
- Fix paste button focus
- Replace subtitle by infobar for Unsafe paste dialog
- Fix the `unsafe paste` dialog to actually paste

Cleanup:
- Update `.gitignore`, HACKING, AUTHORS, COPYRIGHTS
- Update --preferences, --tab and --window documentation
- Fix various typos
- Fix compilation warnings
- Remove unnecessary function call (!24)

Temporary changes (will be changed before the final release):
- Add a "Do not warn me again" checkbox for the "Unsafe Paste" dialog (Issue #129)

Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post
  1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian, Uyghur
jperkin pushed a commit that referenced this issue Sep 21, 2022
Pkgsrc changes:
 * Only checksum changes.

Upstream changes:
1.8.3   2022-08-15
        * bugfix #183: Assertion failure with OPT record without rdata.
          This caused packet creation with only a DO bit (for DNSSEC OK)
          to crash. Thanks Anand Buddhdev and others for reporting this
          so quickly.
        * Fix for syntax error in pyldns

1.8.2   2022-08-12
        * bugfix #147: Allow for tabs in whitespace before quoted rdata
          fields. Thanks Felipe Gasper
        * bugfix #149: Add some missing [out] annotations to doxygen
          parameters. Thanks aldot.
        * Fix build error on Solaris 10 with inet_ntop redeclaration error.
        * Fix -U flag with ldns-signzone. Thanks Ulrich and Jonathan
        * Enable compile of SVCB and HTTPS support by default.
        * bugfix #179: Free line memory even if zone file parsing fails
          Thanks Claudius Zingerli
        * bugfix #166: Grow buffer when writing chars and fixed size
          strings when converting to presentation format, preventing
          potential assersion errors.
        * bugfix #46: Print network errors when secure tracing.
          Thanks reedjc
        * EDNS0 Option handling and conversion into presentation format.
        * bugfix #145: ldns-verify-zone should not call occluded records
          glue. Thanks Habbie

1.8.1   2021-12-03
        * bugfix #146: ldns-1.7.1 had soname 3.0, so ldns-1.8.x soname
          needs to larger. Thanks Leah Neukirchen & Felipe Gasper
        * Undo PR#123 fix ldns.pc installation when building out-of-source
          Thanks Axel Xu
jperkin pushed a commit that referenced this issue Jan 4, 2023
# purrr 1.0.0

## Breaking changes

### Core purpose refinements

* `cross()` and all its variants have been deprecated in favour of
  `tidyr::expand_grid()`. These functions were slow and buggy and we
  no longer think they are the right approach to solving this problem.
  See #768 for more information.

* `update_list()` (#858) and `rerun()` (#877), and the use of tidyselect
  with `map_at()` and friends (#874) have been deprecated. These functions
  use some form of non-standard evaluation which we now believe is a poor
  fit for purrr.

* The `lift_*` family of functions has been deprecated. We no longer believe
  these to be a good fit for purrr because they rely on a style of function
  manipulation that is very uncommon in R code (#871).

* `prepend()`, `rdunif()`, `rbernoulli()`, `when()`, and `list_along()` have
  all been deprecated (#925). It's now clear that they don't align with the
  core purpose of purrr.

* `splice()` is deprecated because we no longer believe that automatic
  splicing makes for good UI. Instead use `list2()` + `!!!` or
  `list_flatten()` (#869).

### Mapping

* Use of map functions with expressions, calls, and pairlists has been
  deprecated (#961).

* All map `_raw()` variants have been deprecated because they are of limited
  use and you can now use `map_vec()` instead (#903).

* In `map_chr()`, automatic conversion from logical, integer, and double to
  character is now deprecated. Use an explicit `as.character()` if needed
  (#904).

### Deprecation next steps

* `as_function()` and the `...f` argument to `partial()` are no longer
  supported. They have been defunct for quite some time.

* Soft deprecated functions: `%@%`, `reduce_right()`, `reduce2_right()`,
  `accumulate_right()` are now fully deprecated. Similarly, the
  `.lazy`, `.env`, and `.first` arguments to `partial()`,
  and the `.right` argument to `detect()` and `detect_index()`
  are fully deprecated. Removing elements with `NULL` in `list_modify()` and
  `list_merge()` is now fully deprecated.

* `is_numeric()` and `is_scalar_numeric()` have been removed. They have
  been deprecated since purrr 0.2.3 (Sep 2017).

* `invoke_*()` is now deprecated. It was superseded in 0.3.0 (Jan 2019) and
  3.5 years later, we have decided to deprecate it as part of the API
  refinement in the 1.0.0 release.

* `map_call()` has been removed. It was made defunct in 0.3.0 (Jan 2019).

## New features

* `*_at()` can now take a function (or formula) that's passed the vector of
  element names and returns the elements to select.

* New `map_vec()`, `map2_vec()`, and `pmap_vec()` work on all types of vectors,
  extending `map_lgl()`, `map_int()`, and friends so that you can easily work
  with dates, factors, date-times and more (#435).

* New `keep_at()` and `discard_at()` that work like `keep()` and `discard()`
  but operation on element names rather than element contents (#817).

* Some mapping functions have now a `.progress` argument to create a
  progress bar. See `?progress_bars` (#149).

* purrr is now licensed as MIT (#805).

* `modify()`, `modify_if()`, `modify_at()`, and `modify2()` are no longer
  generics. We have discovered a simple implementation that no longer requires
  genericity and methods were only provided by a very small number of packages
  (#894).

* purrr now uses the base pipe (`|>`) and anonymous function short hand (`\(x)`),
  in all examples. This means that examples will no longer work in R 4.0 and
  earlier so in those versions of R, the examples are automatically converted
  to a regular section with a note that they might not work (#936).

* When map functions fail, they now report the element they failed at (#945).

* New `modify_tree()` for recursively modifying nested data structures (#720).

### Flattening and simplification

* New `list_c()`, `list_rbind()`, and `list_cbind()` make it easy to
  `c()`, `rbind()`, or `cbind()` all of the elements in a list.

* New `list_simplify()` reduces a list of length-1 vectors to a simpler atomic
  or S3 vector (#900).

* New `list_transpose()` which automatically simplifies if possible (#875).

* `accumulate()` and `accumulate2()` now both simplify the output if possible
  using vctrs. New arguments `simplify` and `ptype` allow you to control the
  details of simplification (#774, #809).

* `flatten()` and friends are superseded in favour of `list_flatten()`,
  `list_c()`, `list_cbind()`, and `list_rbind()`.

* `*_dfc()` and `*_dfr()` have been superseded in favour of using the
  appropriate map function along with `list_rbind()` or `list_cbind()` (#912).

* `simplify()`, `simplify_all()`, and `as_vector()` have been superseded in
  favour of `list_simplify()`. It provides a more consistent definition of
  simplification (#900).

* `transpose()` has been superseded in favour of `list_transpose()` (#875).
  It has built-in simplification.

### Tidyverse consistency

* `_lgl()`, `_int()`, `_int()`, and `_dbl()` now use the same (strict) coercion
  methods as vctrs (#904). This means that:

    * `map_chr(TRUE, identity)`, `map_chr(0L, identity)`, and
      `map_chr(1L, identity)` are deprecated because we now believe that
      converting a logical/integer/double to a character vector should require
      an explicit coercion.

    * `map_int(1.5, identity)` now fails because we believe that silently
      truncating doubles to integers is dangerous. But note that
      `map_int(1, identity)` still works since no numeric precision is lost.

    * `map_int(c(TRUE, FALSE), identity)`, `map_dbl(c(TRUE, FALSE), identity)`,
      `map_lgl(c(1L, 0L), identity)` and `map_lgl(c(1, 0), identity)` now
      succeed because 1/TRUE and 0/FALSE should be interchangeable.

* `map2()`, `modify2()`, and `pmap()` now use tidyverse recycling rules where
  vectors of length 1 are recycled to any size but all others must have
  the same length (#878).

* `map2()` and `pmap()` now recycle names of their first input if
  needed (#783).

* `modify()`, `modify_if()`, and `modify_at()` have been reimplemented using
  vctrs principles. This shouldn't have an user facing impact, but it does
  make the implementation much simpler.

### Plucking

* `vec_depth()` is now `pluck_depth()` and works with more types of input
  (#818).

* `pluck()` now requires indices to be length 1 (#813). It also now reports
  the correct type if you supply an unexpected index.

* `pluck()` now accepts negative integers, indexing from the right (#603).

* `pluck()` and `chuck()` now fail if you provide named inputs to ... (#788).

* `pluck()` no longer replaces 0-length vectors with `default`; it now
  only applies absent and `NULL` components (#480).

* `pluck<-`/`assign_in()` can now modify non-existing locations (#704).

### Setting with NULL

* `pluck<-`/`assign_in()` now sets elements to `NULL` rather than removing them
  (#636). Now use the explicit `zap()` if you want to remove elements.

* `modify()`, `modify2()`, and `modify_if()` now correctly handle `NULL`s
  in replacement values (#655, #746, #753).

* `list_modify()`'s interface has been standardised. Modifying with `NULL`
  now always creates a `NULL` in the output (#810)

### `list_` functions`

* New `list_assign()` which is similar to `list_modify()` but doesn't work
  recursively (#822).

* `list_modify()` no longer recurses into data frames (and other objects built
  on top of lists that are fundamentally non-list like) (#810). You can
  revert to the previous behaviour by setting `.is_node = is.list`.

## Minor improvements and bug fixes

* `capture_output()` correctly uses `conditionMessage()` instead of directly
  interrogating the `message` field (#1010).

* `modify()` no longer works with calls or pairlists.

* `modify_depth()` is no longer a generic. This makes it more consistent
  with `map_depth()`.

* `map_depth()` and `modify_depth()` have a new `is_node` argument that
  allows you to control what counts as a level. The default uses
  `vec_is_list()` to avoid recursing into rich S3 objects like linear models
  or data.frames (#958, #920).

* `map_depth()` and `modify_depth()` now correctly recurse at depth 1.

* `as_mapper()` is now around twice as fast when used with character,
  integer, or list (#820).

* `possibly()` now defaults `otherwise` to NULL.

* `modify_if(.else)` is now actually evaluated for atomic vectors (@mgirlich,
  #701).

* `lmap_if()` correctly handles `.else` functions (#847).

* `every()` now correctly propagates missing values using the same
  rules as `&&` (#751). Internally, it has become a wrapper around
  `&&`. This makes it consistent with `&&` and also with `some()`
  which has always been a wrapper around `||` with the same
  propagation rules.

* `every()` and `some()` now properly check the return value of their
  predicate function. It must now return a `TRUE`, `FALSE`, or `NA`.

* Greatly improved performance of functions created with `partial()` (#715).
  Their invocation is now as fast as for functions creating manually.

* `partial()` no longer inlines the function in the call stack. This
  fixes issues when `partial()` is used with `lm()` for instance (#707).
jperkin pushed a commit that referenced this issue Jan 4, 2023
repr 1.1.4
* See the [GitHub releases](https://github.com/IRkernel/repr/releases) page

    [#144] Fix html filter to also work with R 4.1.1 html (@renkun-ken)
    [#149] Switch CI to GH actions by (@flying-sheep)
jperkin pushed a commit that referenced this issue Feb 7, 2023
pkgsrc change: fix typo of USE_LANGUAGES.


1.1.0 (2023-01-25)

What's Changed

* URI::GID: Update #check_scheme, no need to call super by @alexcwatt in
  #146
* JSON-encode GlobalIDs as strings by @georgeclaghorn in #149
* Support pattern matching of GlobalID & GlobalID::URI by @ojab in #140
* prevent double find by @ooooooo-q in #148
* implement non signed global_id helper method on fixture set by
  @rainerborene in #144
jperkin pushed a commit that referenced this issue Feb 20, 2023
What's Changed
Bug Fixes 🐛
 - Fix link selection of mulit-line links by @Builditluc in #141
 - Fix link selection reset on layout change by @Builditluc in #142

Documentation Changes
 - Simplify Readme by @Builditluc in #138
 - Improve Contribution Documentation by @Builditluc in #139

Style and Structure Changes
 - Update default labels in the issue templates by @Builditluc in #127
 - Update label configurations in workflows by @Builditluc in #128
 - Create Api Handler by @Builditluc in #147
 - Create new parser system by @Builditluc in #149
 - Rework backend by @Builditluc in #150

Other Changes
 - Add keywords to the cargo manifest by @Builditluc in #145
jperkin pushed a commit that referenced this issue May 10, 2023
### [2.3.1] - 2022-11-29

#### Changed

  * The printout of the inferred `intersphinx_mapping` item for inventories
    retrieved by URL (`--url`) in the 'suggest' CLI mode is now relocated to
    fall immediately below the inventory-search output. It also now is displayed
    even if no objects in the `objects.inv` satisfy the score threshold.
    ([#262](bskinn/sphobjinv#262))

  * The 'suggest' CLI mode output now includes dividers for improved
    readability.

#### Tests

  * The plaintext `tests/resource/objects_attrs.txt` was converted to POSIX EOLs
    and declared as binary to git, in order to provide a consistent state for
    sdist packaging, regardless of platform (POSIX vs Windows).

    * As a result, it was necessary to modify the `scratch_path` fixture to
      "`unix2dos`" this file on Windows systems, in order to provide a
      consistent test state.

    * Similarly, the `decomp_cmp_test` fixture was modified to "`unix2dos`" the
      `objects_attrs.txt` resource before comparisons, again in order to provide
      a consistent reference artifact. Implementing required direct manipulation
      of the bytes contents of the file, instead of the `filecmp.cmp` method
      that had been used previously.

  * The README doctests and shell tests have been removed from the default
    pytest suite. They must be explicitly opted-in with the `--readme` and
    `--doctest-glob="README.rst"` flags to pytest.

    * A new job, `readme`, has been added to the `aux_tests` stage of the Azure
      Pipelines CI to run these tests for PRs and release branches.

  * The constraint for `pytest-check` was bumped to `>=1.1.2` and all uses of
    the `check` fixture were revised from `with check.check(...):` to
    `with check(...):`. ([#265](bskinn/sphobjinv#265))

  * Azure Pipelines now has Python 3.11 available for all of Ubuntu, Windows and
    MacOS, so it was added to the core text matrix for all platforms.

  * A new CI job was created on Azure Pipelines that creates an sdist from the
    current project, extracts it into a sandboxed environment, installs the dev
    dependencies, and runs the pytest suite (`azure-sdisttest.yml`).

  * All uses of `pytest-check` were updated to use the
    [v1.1.2 syntax](https://github.com/okken/pytest-check/blob/main/changelog.md#110---2022-nov-21)
    (`check` fixture, or `from pytest_check import check`).

#### Internal

  * The `sys.exit()` in the case of no objects falling above the 'suggest'
    search threshold was refactored into the main `do_suggest()` body, to
    minimize the surprise of an `exit()` call coming in a subfunction.
    ([#263](bskinn/sphobjinv#263))

#### Packaging

  * `MANIFEST.in` was revised in order to provide a testable (`pytest --nonloc`)
    sdist, in order to streamline packaging of `sphobjinv` for conda-forge.
    (Thanks very much to [@anjos](https://github.com/anjos) for getting the
    recipes for `sphobjinv` and its dependencies in place! See
    [#264](bskinn/sphobjinv#264).)

#### Administrative

  * `sphobjinv` is now available via conda-forge! A note was added to the docs
    to indicate this.

  * The version bump on `pytest-check` no longer permits the use of Python 3.6
    in CI. As Python 3.6 is nearly a year beyond EOL, this seems a reasonable
    time to officially drop support for it. `python_requires` will still be at
    `>=3.6` for now; it *should* still work for 3.6...but, no guarantees.

  * The hook versions for `pre-commit-hooks`, `black`, and `pyproject-fmt` were
    updated to v4.3, v22.10, and v0.3.5, respectively.

  * `CONTENT_LICENSE.txt` was created, to specifically house the full
    content/documentation license information.

  * `LICENSE.txt` was revised to only hold the MIT License for the code,
    primarily so that Github's automatic systems will recognize the project as
    MIT licensed.

  * Caching of pip downloads was added to all of the Azure Pipelines jobs.

  * The version constraint for `pytest-check` was raised to `>=1.1.2`.

  * A temporary upper bound was placed on the `flake8` version (now `>=5,<6`,
    instead of `>=5`) to avoid pip resolver failures likely due to conflicts
    with constraints declared by plugins.

  * The older versions of `jsonschema` tested in the `tox` matrix were
    streamlined down to 3.0 (`==3.0`), 3.x (`<4`), 4.0 (`<4.1`) and 4.8
    (`<4.9`).

  * The pin of `sphinx-issues==0.4.0` in the `tox` matrix was removed, to match
    the unpinned package in the `requirements-xxx.txt` files.


### [2.3] - 2022-11-08

#### Added

  * The CLI now prints the project name and version for the `objects.inv` as
    part of the 'suggest' mode output.

  * The CLI now prints an inferred `intersphinx_mapping` entry for a remote
    docset as part of the 'suggest' mode output, where such inference is
    possible. The output from this mapping inference was added to the relevant
    tests, and a couple of unit tests on some basic pieces of functionality were
    written. ([#149](bskinn/sphobjinv#149))

  * The CLI now provides considerably more information about what is happening
    with the URLs it checks when trying to retrieve a remote inventory.
    ([#99](bskinn/sphobjinv#99), plus more)

  * CLI 'suggest' results output now displays more information about
    the total number of objects in the inventory, the search score threshold,
    and the number of results falling at/above that threshold.
    ([#232](bskinn/sphobjinv#232))

  * A new CLI option, `-p`/`--paginate`, enables paging of the results from the
    `suggest` feature. ([#70](bskinn/sphobjinv#70))

#### Fixed

  * The regex for parsing object lines from decompressed inventories now
    correctly processes `{role}` values that contain internal colons.

  * CLI corner case where options are passed but no subparser is specified
    now results in a clean error-exit, instead of an exception.
    ([#239](bskinn/sphobjinv#239))

#### Documentation

  * Updated doctests to reflect the new v22.1 attrs `objects.inv` used for
    demonstration purposes.

  * Updated `syntax.rst` to indicate that the `{role}` in an inventory object
    MAY contain a colon.

  * Added new 'CLI implementation' pages for the new modules, downstream of the
    refactoring of the CLI 'convert' and 'suggest' code.

  * Revised the intro paragraph of the 'CLI usage' page to more clearly emphasize
    the two CLI subcommands and the links to their respective docs pages.

  * Fixed a mistake in the CLI help info for the `--url` argument to `convert`.

#### Tests

  * Various tests were updated to reflect the contents of the new v22.1 attrs
    `objects.inv` introduced to replace the previous v17.2 inventory.

  * A modern Sphinx `objects.inv` (v6.0.0b) was added to `tests/resource` as
    `objects_sphinx.inv`, and the previous v1.6.6 was renamed to
    `objects_sphinx_1_6_6.inv`.

  * The 'valid objects' test cases were updated to reflect the possibility for a
    colon within `{role}`:

    * The colon-within-`{role}` test case was moved from 'invalid' to 'valid'.

    * The colon-within-`{domain}` test case was also moved from 'invalid' to
      'valid', but with an annotation added to indicate that it's not actually
      viable---it will actually be interpreted incorrectly, with the first
      portion of the colon-containing `{domain}` imported as `{domain}`, and the
      remainder imported as part of `{role}`.

#### Internal

  * Refactor CLI code to place the 'convert' and 'suggest' implementations in
    their own modules.

  * Refactor CLI 'suggest' code to the main `do_suggest()` function and a
    handful of sub-functions.

  * Rename the `log_print()` CLI helper function to the more-descriptive
    `print_stderr()`.

  * Bump development Sphinx version to v5.3.

  * Bump flake8 version to >=5, due to the absorption of flake8-colors
    colorization functionality. The flake8/tox config was updated accordingly.

  * Bump pre-commit black hook to v22.3.0.

  * Remove PyPy and Python 3.6 from Azure Pipelines test matrix.

  * Revise `__version__` retrieval in `setup.py` to use an intermediate
    dictionary with `exec()`.

  * Update `setup.cfg` to use `license_files`, instead of the deprecated
    `license_file`.

#### Administrative

  * Apply CC BY 4.0 to documentation and docstrings and update project files to
    reflect.


### [2.2.2] - 2022-03-22

#### Fixed

  * UnicodeDecodeErrors are ignored within the vendored `fuzzywuzzy` package
    during `suggest` operations, using the `errors=replace` mode within
    bytes.decode().

    * This misbehavior emerged after vendoring `fuzzywuzzy`, suggesting that
      it was a bug fixed later on in that project's development, after the
      point from which it was vendored.

    * This change may alter `suggest` behavior for those inventory objects with
      pathological characters. But, given their rarity, user experience is not
      expected to be noticeably affected.

#### Internal

  * The `pyproject-fmt` formatted was added as a pre-commit hook.

  * The `flake8-raise` plugin was added to the linting suite.

#### Testing

  * A smoke test for error-free `suggest` execution was added for all of the
    inventory files in `tests/resource`.


### [2.2.1] - 2022-02-05

#### Internal

  * The `benchmarks.py` file within the vendored version of `fuzzywuzzy`
    was removed. This *should* have no effect on `sphobjinv` functionality.
    * Per [#223](bskinn/sphobjinv#223), the
      Python 2 code within `benchmarks.py` breaks a full-source compilation
      done as part of an RPM packaging workflow.


### [2.2] - 2022-01-30

#### Administrative

  * The project documentation has been updated to reflect the deprecation
    of the `python-Levenshtein` speedup.

  * `pre-commit` has been added to the project, primarily to automate
    `black` code formatting on every commit.

    * The default trailing-whitespace, end-of-file, YAML syntax, and
      large-file-prevention hooks have also been added.

#### Internal

  * `sphinx-removed-in` was added as a dev and RTD dependency, to provide
    the `versionremoved` Sphinx directive.


### [2.2b1] - 2021-12-23

#### Removed

  * Acceleration of the `suggest` functionality via use of `python-Levenshtein`
    is no longer possible due to the vendoring of an early, MIT-licensed version
    of `fuzzywuzzy`, as noted below. The `speedup` install extra is now obsolete,
    and has been removed.

#### Internal

  * The `fuzzywuzzy` string matcher was vendored into the project from a point
    in its development history before the `python-Levenshtein` dependency,
    and its corresponding GPL encumbrance, was introduced.

#### Administrative

  * Project default branch migrated to `main` from `master`.

  * Standard development Python version bumped to 3.10.

  * Standard development Sphinx version bumped to 4.3.1.

  * Active support for Python 3.11 added.


### [2.1] - 2021-04-14

#### Added

  * Python 3.10 support was officially added.

#### Changed

  * The User-Agent header sent by `Inventory` when making an HTTP(S) request
    now identifies `sphobjinv` and its version (anticipate no API or
    behavior change).

  * An extraneous newline was removed before tables printed in the
    'suggest' CLI mode (cosmetic change).

#### Fixed

  * Previously, `sphobjinv.Inventory` would ignore entries in `objects.inv`
    that contained spaces within `name`
    (see [#181](bskinn/sphobjinv#181));
    this is now fixed.

#### Removed

  * Python 3.5 is no longer supported.

  * The relaxation of the integer constraint on the `priority` field
    introduced in v2.1b1 has been *reverted*, as `objects.inv` data lines
    with such non-integer `priority` values are skipped by Sphinx.

#### Internal

  * Where possible, string interpolation has been refactored to use
    f-strings.

  * A 'speedup' `extras_require` entry has been added to allow simple installation
    of `python-Levenshtein` for Linux and MacOS platforms, as
    `pip install sphobjinv[speedup]`. This extra does nothing on Windows, since
    compilation machinery is anticipated not to be available for most users.

  * `objects_mkdoc_zlib0.inv`, which was compressed at `zlib` level 0,
    has been added to the test resources directory.

  * This file had to be flagged as binary in `.gitattributes` in order to avoid
      git EOL auto-conversion on Windows.

  * The CLI functionality was refactored from the single `sphobjinv.cmdline` module
    into a dedicated set of `sphobjinv.cli.*` submodules.

  * Some internal `type(...) is ...` checks were replaced with `isinstance(...)`

#### Testing

  * Added *significant* body of new tests to confirm inventory compatibility
    with both `sphobjinv` and Sphinx itself.

    * Consistency checks added both for data within `sphobjinv.Inventory` instances
      **AND** as emitted from `sphinx.ext.inventory.InventoryFile.load()`.

    * The tests in `tests/test_valid_objects.py` strive to bracket as precisely
      as possible what content is allowed on an `objects.inv` data line,
      in addition to providing guidance on what is allowable, but discouraged.

      `docs/source/syntax.rst` was also edited to reflect this guidance.

  * Additional tests have been added to probe corner cases involving Windows EOLs.

  * A test was added to ensure that the schema in `sphobjinv.schema` is in fact
    a valid JSON schema.

  * Multiple asserts/checks per test method have been converted to use
    `pytest-check` instead of `pytest-subtests`, due to some inconsistent
    behavior with the latter.

  * `tox` environments and dependencies were updated, and some flake8 configuration
    was adjusted.

#### Administrative

  * Standard development Python version bumped to 3.9.

  * Standard development Sphinx version bumped to 3.5.0.

  * Added `[skip ci]` flag in commit text for skipping Github Actions CI.

  * RtD upgraded to use Python 3.8.

  * Added 'radio Sphinx' logo to RtD docs.

  * Drafted `CONTRIBUTING.md` and added PR & issue templates.

  * Tranferred most project metadata from `setup.py` to `setup.cfg`.


### [2.1b1] - 2020-11-13

#### Fixed

  * Equality tests on Inventory and DataObjStr/DataObjBytes instances
    now work correctly.

  * Non-integer and non-numeric values for `priority` are now accepted
    during `Inventory` instantiation, consistent with what is allowed
    by `DataObjStr` and `DataObjBytes` instantiation.


### [2.1a2] - 2020-10-27

#### Added

  * When an inventory is retrieved via CLI from a remote URL with `-u`,
    the resolved location of the inventory is included in generated JSON
    at `json_dict.metadata.url`.

#### Changed

  * CLI logging messages are now emitted to stderr instead of stdout.


### [2.1a1] - 2020-10-26

#### Added

  * A hyphen can now be passed as the CLI input and/or output file name
    to instruct sphobjinv to use stdin and/or stdout, respectively.

  * The `fileops` and `inventory` APIs are now tested to work with
    both strings and `pathlib.Path` objects, where they interact
    with the filesystem.

#### Refactored

  * Patterns in regular expressions are now defined with raw strings
    to improve readability.
jperkin pushed a commit that referenced this issue Jun 17, 2023
Wrappers 1.4.4 | Solver 1.4.2 | 15/07/2022
------------------------------------------
- fix timing in shared data release procedure PR #149
- revert use of nullpointer introduced in #142
  Its use is not necessary anymore in 3.11.0-beta.4 and used to cause issues on
  some platforms (see #144 ) PR #145

Wrappers 1.4.3 | Solver 1.4.1 | 13/06/2022
------------------------------------------
- add support for Python 3.11 PR #142
- do not install tests PR #143
- fix packaging for latest setuptools PR #140

Wrappers 1.4.2 | Solver 1.4.1 | 28/03/2022
------------------------------------------
- fix an issue with setuptools configuration PR #134

Wrappers 1.4.1 | Solver 1.4.1 | 27/03/2022
------------------------------------------
- add missing include PR #129
- re-organize the Python binding sources to properly ship type hints PR #131

Wrappers 1.4.0 | Solver 1.4.0 | 14/03/2022
------------------------------------------
- make installation PEP517 compliant PR #125
- add type hints  PR #125
- add Constraint::violated() method PR #128
- make the the c++ part of the code c++20 compliant PR #120
- test with c++11 and c++20 PR #120
jperkin pushed a commit that referenced this issue Aug 13, 2023
1.4.2 (2023-08-08)

This is a gem housekeeping release. No user-facing changes.

Housekeeping

* Ensure rubocop task runs on Ruby >= 3.1 (#149) @mattbrictson
* Add Ruby 3.2 to the CI matrix (#148) @mattbrictson
* Fix test failures due to minitest 5.19 release (#146, #147) @mattbrictson
* Fix CI build for Ruby 2.2 (#145) @mattbrictson
jperkin pushed a commit that referenced this issue Sep 1, 2023
MSVC throws C4244 by @AbsintheScripting in #142
Added a GetUnsigned function for getting unsigned values. by @jcormier in #147
meson.build: fix start-of-line_comment_prefix variable name by @ihilt in #149
Added GetInteger64 and GetUnsigned64 to read 64-bit integers by @natcat256 in #151
Fix redundant cast-to-int when INI_USE_STACK!=0
Make inline comments work on subsequent lines of multiline values
Added "version" to meson.build config: #135 (but bumped up to 55 in a subsequent commit, for this release).
Mainly #134, adding the visibility symbols to the Meson build config, but also other small tweaks to tests and so on.
jperkin pushed a commit that referenced this issue Dec 17, 2023
Change Log

2.6.1   C<2023-07-26>

* Fix: Formatting with perltidy was broken in 2.6.0

2.6.0   C<2023-07-23>

* Add debug setting for running as different user. See sudoUser setting. (#174) [wielandp]

* Allow to use a string for debuggee arguments. (#149, #173) [wielandp]

* Add stdin redirection (#166) [wielandp]

* Add link to issues to META files (#168) [szabgab/issues]

* Add support for podman

* Add support for run Perl::LanguageServer outside, but debugger inside a container

* Add setting useTaintForSyntaxCheck. If true, use taint mode for syntax check (#172) [wielandp]

* Add setting useTaintForDebug. If true, use taint mode inside debugger (#181) [wielandp]

* Add debug adapter request C<source>, which allows to display source of eval or file that are not available to vscode (#180) [wielandp]

* Fix: Spelling (#170, #171) [pkg-perl-tools]

* Fix: Convert charset encoding of debugger output according to current locale (#167) [wielandp]

* Fix: Fix diagnostic notifications override on clients (based on #185) [bmeneg]
jperkin pushed a commit that referenced this issue May 1, 2024
v20.4.0
=======

Features
--------

- Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. (#216)


v20.3.1
=======

No significant changes.


v20.3.0
=======

Features
--------

- Added support for SASL login. (#195)


Bugfixes
--------

- Better handling of escape sequences in message tags. (#205)


v20.2.0
=======

Features
--------

- Require Python 3.8 or later.


v20.1.1
=======

* #213: Pinned against jaraco.text 3.10 due to change in interface.

v20.1.0
=======

* #196: In irc.bot, avoid hanging idle when the first connection
  attempt fails.

v20.0.0
=======

* ``SingleServerIRCBot`` no longer accepts ``reconnection_interval``
  as a parameter.

* Added server support for NOTICE commands.

* Require Python 3.7 or later.

v19.0.1
=======

* #176: Fix issues with version number reporting. Restored version
  version number reporting in bot and client.

v19.0.0
=======

* ``irc.client`` no longer exposes a ``VERSION`` or ``VERSION_STRING``.
  To get the version, call ``importlib.metadata.version('irc')`` directly.

v18.0.0
=======

* Require Python 3.6 or later.

17.1
====

* Rely on
  `importlib_metadata <https://pypi.org/project/importlib_metadata/>`_
  for loading version from metadata. Removes implicit dependency on
  setuptools and pkg_resources.

* #158: The AsyncIO server now accepts a connection factory to
  enable features like SSL and IPv6 support.

* #155: ``SimpleIRCClient`` now has a ``dcc`` method for initiating
  and associating a DCCConnection object with the client.
  ``DCCConnection.listen`` now accepts a ``address`` parameter.
  Deprecated ``SimpleIRCClient.dcc_listen`` and
  ``SimpleIRCClient.dcc_connect`` in favor of the better separation
  of concerns. Clients should replace::

    client.dcc_connect(addr, port, type)
    client.dcc_listen(type)

  with::

    client.dcc(type).connect(addr, port)
    client.dcc(type).listen()


17.0
====

* Removed ``irc.buffer`` module, deprecated in 14.2.
* #153: Drop support for Python 3.3 and 2.7.

16.4
====

* Long Term Service release for Python 2.7.
* #149: ``AioConnection.connect`` moved to coroutine, added
  disconnect handling for AsyncIO.

16.3
====

* #140: Methods now use 'connection' and 'event' for parameter names.

* #135 via #144: Added AsyncIO implementation.

16.2.1
======

* Package refresh and cleanup.

16.2
====

* #133: In ``irc.server``, add support for ISON.

16.1
====

* #131: Add ``Connection.encode`` and ``Connection.transmit_encoding``
  to enable encodings other than UTF-8 to be used when transmitting
  text.

16.0
====

* Removed deprecated ``execute_*`` methods on ``Connection``
  and ``Reactor`` as introduced in 15.0.

* Fixed link in README.

15.1.1
======

* New ``send_items`` method takes star args for simplicity
  in the syntax and usage.

15.1
====

* Introduce ``ServerConnection.send_items``, consolidating
  common behavior across many methods previously calling
  ``send_raw``.

15.0.6
======

* Now publish `documentation <https://python-irc.readthedocs.io/>`_
  to Read The Docs.

15.0.5
======

* #119: Handle broken pipe exception in IRCClient _send() (server.py).

15.0.4
======

* #116: Correct invocation of execute_every.

15.0.3
======

* #115: Fix AttributeError in ``execute_at`` in scheduling
  support.

15.0.2
======

* #113: Use preferred scheduler in the bot implementation.

15.0.1
======

* Deprecated calls to Connection.execute_*
  and Reactor.execute_*. Instead, call the
  equivalently-named methods on the reactor's
  scheduler.

15.0
====

* The event scheduling functionality has been decoupled
  from the client.Reactor object. Now the reactor will
  construct a Scheduler from the scheduler_class property,
  which must be an instance of irc.schedule.IScheduler.

  The ``_on_schedule`` parameter is no longer accepted
  to the Reactor class. Implementations requiring a
  signal during scheduling should hook into the ``add``
  method of the relevant scheduler class.

* Moved the underlying scheduler implementation to
  `tempora <https://pypi.org/project/tempora>`_, allowing
  it to be re-used for other purposes.

14.2.2
======

* Issue #98: Add an ugly hack to force ``build_sphinx``
  command to have the requisite libraries to build
  module documentation.

14.2.1
======

* Issue #97: Restore ``irc.buffer`` module for
  compatibility.
* Issue #95: Update docs to remove missing or
  deprecated modules.
* Issue #96: Declare Gitter support as a badge in the
  docs.

14.2
====

* Moved buffer module to `jaraco.stream
  <https://pypi.python.org/pypi/jaraco.stream>`_ for
  use in other packages.

14.1
====

* ``SingleServerIRCBot`` now accepts a ``recon``
  parameter implementing a ReconnectStrategy. The new
  default strategy is ExponentialBackoff, implementing an
  exponential backoff with jitter.
  The ``reconnection_interval`` parameter is now deprecated
  but retained for compatibility. To customize the minimum
  time before reconnect, create a custom ExponentialBackoff
  instance or create another ReconnectStrategy object and
  pass that as the ``recon`` parameter. The
  ``reconnection_interval`` parameter will be removed in
  future versions.
* Issue #82: The ``ExponentialBackoff`` implementation
  now protects from multiple scheduled reconnects, avoiding
  the issue where reconnect attempts accumulate
  exponentially when the bot is immediately disconnected
  by the server.

14.0
====

* Dropped deprecated constructor
  ``connection.Factory.from_legacy_params``. Use the
  natural constructor instead.
* Issue #83: ``connection.Factory`` no longer attempts
  to bind before connect unless a bind address is specified.

13.3.1
======

* Now remove mode for owners, halfops, and admins when the user
  is removed from a channel.
* Refactored the Channel class implementation for cleaner, less
  repetitive code.
* Expanded tests coverage for Channel class.

13.3
====

* Issue #75: In ``irc.bot``, add support for tracking admin
  status (mode 'a') in channels. Use ``channel.is_admin``
  or ``channel.admins`` to identify admin users for a channel.

* Removed deprecated irc.logging module.

13.2
====

* Moved hosting to github.

13.1.1
======

* Issue #67: Fix infinite recursion for ``irc.strings.IRCFoldedCase``
  and ``irc.strings.lower``.

13.1
====

* Issue #64: ISUPPORT PREFIX now retains the order of
  permissions for each prefix.

13.0
====

* Updated ``schedule`` module to properly support timezone aware
  times and use them by default. Clients that rely on the timezone
  naïve datetimes may restore the old behavior by overriding the
  ``schedule.now`` and ``schedule.from_timestamp`` functions
  like so:

    schedule.from_timestamp = datetime.datetime.fromtimestamp
    schedule.now = datetime.datetime.now

  Clients that were previously patching
  ``schedule.DelayedCommand.now`` will need to instead patch
  the aforementioned module-global methods. The
  classmethod technique was a poor interface for effectively
  controlling timezone awareness, so was likely unused. Please
  file a ticket with the project for support with your client
  as needed.

12.4.2
======

* Bump to jaraco.functools 1.5 to throttler failures in Python 2.

12.4
====

* Moved ``Throttler`` class to `jaraco.functools
  <https://bitbucket.org/jaraco/jaraco.functools>`_ 1.4.

12.3
====

* Pull Request #33: Fix apparent escaping issue with IRCv3 tags.

12.2
====

* Pull Request #32: Add numeric for WHOX reply.
* Issue #62 and Pull Request #34: Add support for tags in message
  processing and ``Event`` class.

12.1.2
======

* Issue #59: Fixed broken references to irc.client members.
* Issue #60: Fix broken initialization of ``irc.server.IRCClient`` on
  Python 2.

12.1.1
======

* Issue #57: Better handling of Python 3 in testbot.py script.

12.1
====

* Remove changelog from package metadata.

12.0
====

* Remove dependency on jaraco.util. Instead depend on surgical packages.
* Deprecated ``irc.logging`` in favor of ``jaraco.logging``.
* Dropped support for Python 3.2.
jperkin pushed a commit that referenced this issue May 6, 2024
2024-05-05 -- 0.9.8

>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  * Fixed: [CVE-2024-34402]
      Protect against integer overflow in ComposeQueryEngine
      (GitHub #183, GitHub #185)
  * Fixed: [CVE-2024-34403]
      Protect against integer overflow in ComposeQueryMallocExMm
      (GitHub #183, GitHub #186)
>>>>>>>>>>>>> SECURITY >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  * Changed: Require CMake >=3.5.0 (GitHub #172)
  * Added: CMake option URIPARSER_SHARED_LIBS=(ON|OFF) to control,
      whether to produce a shared or static library for uriparser
      and that alone, falls back to standard BUILD_SHARED_LIBS
      if available, else defaults to "ON" (GitHub #169, GitHub #170)
  * Improved: Document that scheme-based normalization a la
      section 6.2.3 of RFC 3986 is a responsibility of the application
      using uriparser (GitHub #173, GitHub #174)
  * Improved: Document supported code points for functions uriEscape(Ex)W
      (GitHub #171, GitHub #175)
  * Infrastructure: Update Clang from 15 to 18 (GitHub #161, GitHub #187)
  * Infrastructure: Adapt to breaking changes in Clang packaging (GitHub #160)
  * Infrastructure: Get sanitizer CFLAGS and LDFLAGS back in sync (GitHub #161)
  * Infrastructure: Pin GitHub Actions to specific commits for security
      (GitHub #165)
  * Soname: 1:31:0 — see https://verbump.de/ for what these numbers do

2022-10-05 -- 0.9.7

  * Fixed: Multiple issues with IPv6 and IPvFuture literal parsing
      (GitHub #146, GitHub #150)
      Thanks to Scallop Ye for the report and the pull request!
  * Fixed: Fix symbol visibility for -DBUILD_SHARED_LIBS=OFF (GitHub #139,
      GitHub #141); thanks to Mariusz Zaborski for the report!
  * Fixed: For MinGW, use size_t for inet_ntop declaration and fix macro
      checks for both MinGW and mingw-w64 (GitHub #131)
  * Fixed: Compiler warnings (GitHub #132, GitHub #152)
  * Improved: Use name UriConfig.h rather than generic config.h for the
      config header file to avoid name clashes and also include it through
      "UriConfig.h" with quotes rather than <UriConfig.h> so that it is found
      in quote path locations (GitHub #149)
      Thanks to Gaspard Petit for bringing this up!
  * Improved: Document need for UriConfig.h in UriMemory.c (GitHub #136)
  * Infrastructure: Add (support for) Visual Studio 17/2022 (GitHub #152)
  * Infrastructure: Drop (support for) Visual Studio <=14/2015 (GitHub #152)
  * Infrastructure: Update Clang from 13 to 15 (GitHub #143, GitHub #151)
  * Infrastructure: Make MinGW with 32bit Wine on Ubuntu 20.04 possible
      (GitHub #142, GitHub #144, GitHub #145)
  * Soname: 1:30:0 — see https://verbump.de/ for what these numbers do
jperkin pushed a commit that referenced this issue May 13, 2024
1.17.1 (2024-04-07)

* Improve security by using File.read instead of IO.read #149
jperkin pushed a commit that referenced this issue Jul 20, 2024
[1.6.0] - 2024-07-07
Added
 - Initial support for importing collections from an OpenAPIv3 specification #106
    - Currently only OpenAPI 3.0 (not 3.1) is supported. Please try this out and give feedback if anything doesn't work.

Changed
 - Allow escaping keys in templates #149
    - While this is technically a breaking change, this is not a major version bump because it's extremely unlikely that this will break anything in practice for a user
    - See docs

Fixed
 - Support TLS certificates in native certificate store #275
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 Nov 6, 2024
1.9.0 (2024-10-31)

What's Changed

* Be clear in README that webrick should not be used in production
  by @jeremyevans in #149

* Add RBS files by @znz in #151

* Prepare new release by @znz in #153

New Contributors

* @znz made their first contribution in #151
github-actions bot pushed a commit that referenced this issue Dec 2, 2024
# wk 0.9.4

- Ensure package tests pass against sf 1.0-18 (#224, #225).

# wk 0.9.3

- Ensure package compiles with `STRICT_R_HEADERS=1` (#222).

# wk 0.9.2

- Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213)
- Fix wk_trans inconsistent meta flags handling (#217)
- Ensure package builds on arm64 for Windows (#220)

# wk 0.9.1

- Fix format strings/arguments for R-devel (#209).

# wk 0.9.0

## Breaking changes

- The common well-known binary representation of POINT EMPTY (i.e.,
  POINT (nan nan)) is now handled as POINT EMPTY allowing empty points
  to roundtrip through `wkb()` vectors (#196, #204).
- `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This
  preserves the invariant that null features can also be identified using
  `is.na()` (#205).
- `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))`
  now returns `FALSE`. This means that both EMPTY and null points can roundtrip
  through `xy()` (#205).

## Bugfixes and improvements

- `wk_meta()` now contains a new column `is_empty`, which is `TRUE`
  for any feature that contains at least one non-empty coordinate. This allows
  more efficient detection of features with zero coordinates (#197, #199).
- Updated PROJ data to use the latest pull of the database packaged with
  PROJ 9.3.0 (#201).
- The wk package now compiles once again on gcc 4.8 (#203, #206).
- Fixed `sfc_writer()` to correctly attach the `classes` attribute to
  sfc output with mixed geometry types (#195).
- Function `sfc_writer()` now has an argument `promote_multi` to write any
  input as the MULTI variant. This makes it more likely that an input vector
  will be read as a single geometry type (#198).
- The `wk_collection_filter()` now correctly increments the `part_id` when
  calling the child handler (@brownag, #194).

# wk 0.8.0

* Added `wkb_to_hex()` (@anthonynorth, #183).
* Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs
  (@anthonynorth, #183).
* Fixed `sfc_writer()`, which had returned NULL for some inputs
  (e.g., via `wk_collection()`) (@anthonynorth, #182, #186).
* Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings
  (@anthonynorth, #188).
* New replacement-function mode for `wk_coords<-()` for in-place modification
  of coordinates (@mdsumner, #187).
* New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187).

# wk 0.7.3

* Fix tests for updated waldo package (#178).

# wk 0.7.2

* Fix use-after-free warnings.

# wk 0.7.1

* Fix implicit reliance on error `as.data.frame.default()`,
  which no longer occurs in r-devel (#166).

# wk 0.7.0

* Remove legacy headers that are no longer used by any downstream package
  (#146).
* `validate_wk_wkt()` now errors for an object that does not inherit from
  'wk_wkt' (#123, #146).
* Added `wk_crs_projjson()` to get a JSON representation of a CRS object.
  To make lookup possible based on shortcut-style CRS objects (e.g.,
  `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and
  `wk_proj_crs_json` that contain cached versions of rendered PROJJSON
  based on the latest PROJ version (#147).
* Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136,
  #147).
* Conversion to sf now uses the `sfc_writer()` for all wk classes, making
  conversions faster and fixing at least one issue with conversion of NA
  geometries to sf (#135).
* `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types
  more reliably (#142, #143, #149).
* Exported EMPTY geometries to well-known text now include dimension
  (e.g., `POINT Z EMPTY`) (#141, #150).
* Fixed bug where `wk_polygon()` doubled some points when the input contained
  closed rings (#134, #151).
* Fixed bug where `wk_count()` exposed uninitialized values for empty input
  (#139, #153).
* The `xy_writer()` now opportunistically avoids allocating vectors for Z
  or M values unless they are actually needed (#131, #154).
* Added example WKT for all geometry types and dimensions plus helper
  `wk_example()` to access them and set various properties (#155).
* Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158).
* Removed `wk_chunk_map_feature()` in favour of using chunking strategies
  directly (#132, #159).
* Optimized `wk_coords()` for `xy()` objects (#138, #160).
* Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`,
  `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`,
  `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()`
  (#144, #161).
* Added rectangle operators `rct_intersects()`, `rct_contains()`,
  and `rct_intersection()` (#161).

# wk 0.6.0

* Fixed `wk_affine_rescale()` to apply the translate and scale
  operations in the correct order (#94).
* Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support
  a chunk + apply workflow when working with large vectors (#101, #107).
* C and R code was rewritten to avoid materializing ALTREP vectors
  (#103, #109).
* Added a `wk_crs_proj_definition()` generic for foreign CRS objects
  (#110, #112).
* Added `wk_crs_longlat()` helper to help promote authority-compliant
  CRS choices (#112).
* Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic`
  in `wkt()` and `wkb()` as a flag for objects whose edges must
  be interpolated along a spherical/ellipsoidal trajectory (#112).
* Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry
  vectors for better integration with sf (#113, #114).
* Refactored well-known text parser to be more reusable and faster
  (#115, #104).
* Minor performance enhancement for `is.na()` and `validate_wk_wkb()`
  when called on a very long `wkb()` vector (#117).
* Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed
  for most valid objects (#119).
* Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise
  bounding boxes (#120, #122).
* Fixed headers and tests to pass on big endian systems (#105, #122).
* Incorporated the geodesic attribute into vctrs methods, data frame
  columns, and bbox/envelope calculation (#124, #125).
* Fix `as_xy()` for nested data frames and geodesic objects (#126, #128).
* Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`,
  and `wkt_format()` (#129).
* `wk_plot()` is now an S3 generic (#130).

# wk 0.5.0

* Fixed bugs relating to the behaviour of wk classes as
  vectors (#64, #65, #67, #70).
* `crc()` objects are now correctly exported as polygons
  with a closed loop (#66, #70).
* Added `wk_vertices()` and `wk_coords()` to extract individual
  coordinate values from geometries with optional identifying
  information. For advanced users, the `wk_vertex_filter()`
  can be used as part of a pipeline to export coordinates
  as point geometries to another handler (#69, #71).
* Added `wk_flatten()` to extract geometries from collections.
  For advanced users, the `wk_flatten_filter()` can be used as
  part of a pipeline (#75, #78).
* `options("max.print")` is now respected by all vector classes
  (#72, #74).
* Moved implementation of plot methods from wkutils to wk to
  simplify the dependency structure of both packages (#80, #76).
* Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()`
  to construct polygons, lines, and collections. For advanced
  users, `wk_polygon_filter()`, `wk_linestring_filter()`, and
  `wk_collection_filter()` can be used as part of a pipeline
  (#77, #84).
* Added a C-level transform struct that can be used to simplify
  the the common pattern of transforming coordinates. These
  structs can be created by other packages; however, the
  `wk_trans_affine()` and `wk_trans_set()` transforms are
  also built using this feature. These are run using the
  new `wk_transform()` function and power the new
  `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`,
  functions (#87, #88, #89).

# wk 0.4.1

* Fix LTO and MacOS 3.6.2 check errors (#61).

# wk 0.4.0

* Removed `wksxp()` in favour of improved `sf::st_sfc()` support
  (#21).
* Rewrite existing readers, writers, and handlers, using
  a new C API (#13).
* Use new C API in favour of header-only approach for all
  wk functions (#19, #22).
* Use cpp11 to manage safe use of callables that may longjmp
  from C++.
* Vector classes now propagate `attr(, "crs")`, and check
  that operations that involve more than one vector have
  compatable CRS objects as determined by `wk_crs_equal()`.
* Added an R-level framework for other packages to implement
  wk readers and handlers: `wk_handle()`, `wk_translate()`,
  and `wk_writer()` (#37).
* Added a native reader and writer for `sf::st_sfc()` objects
  and implemented R-level generics for sfc, sfg, sf, and bbox
  objects (#28, #29, #38, #45).
* Implement `crc()` vector class to represent circles (#40).
* Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42).
* Refactored unit tests reflecting use of the new API and
  for improved test coverage (#44, #45, #46).
* Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to
  inspect properties of vectors (#53).
* Modified all internal handlers such that they work with vectors
  of unknown length (#54).

# wk 0.3.4

* Fixed reference to `wkutils::plot.wk_wksxp()`, which
  no longer exists.

# wk 0.3.3

* Fixed WKB import of ZM geometries that do not use EWKB.
* Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes
  to efficiently store point geometries.
* Added the `rct()` vector class to efficiently store
  two-dimensional rectangles.
* Fixed the CRAN check  failure caused by a circular
  dependency with  the wkutils package.
* Added S3 methods to coerce sf objects to and from
  `wkt()`, `wkb()` and `wksxp()`.

# wk 0.3.2

* Fixed EWKB output for collections and multi-geometries
  that included SRID (#3).
* Fixed CRAN check errors related to exception handling on
  MacOS/R 3.6.2.

# wk 0.3.1

* Added a `NEWS.md` file to track changes to the package.
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

1 participant