Notes:
[language] added support for Ren'Py #560 @TabulateJarl8
[info] added language bar distribution #585 @o2sh @spenserblack
[misc] granted read access to onefetch snap to gitconfig files #588 @o2sh
[language] added support for Ceylon #602 @DenverCoder1
[misc] default to terminal foreground color for tilde, underline, colon
and info #604 @o2sh
[language] fix Lua logo so that it can be read even without color #610
@yutkat
[misc] replace colored crate with owo-colors #620 @o2sh @spenserblack
[misc] remap White ANSI color to Default #625 @spenserblack
[language] added support for Wolfram #609 @rcon56
[misc] match circle color with github linguist #630 @o2sh
[language] added support for VHDL #632 @BHatGuy
Vala 0.56.0
===========
* Various improvements and bug fixes:
- codegen: Drop confusing warning when accessing interface members
* Bindings:
- Add webkit2gtk-4.1 bindings
- glib-2.0: Fix memory management of TestSuite.add*/get_root() with 2.70 [#1295]
- libarchive: Fix a few binding errors
- SDL2_ttf: Fix a few binding errors
- tiff: Fix a few binding errors
Vala 0.55.91
============
* Various improvements and bug fixes:
- girparser:
+ Handle duplicated and unnamed symbols
+ Add support for "copy_/free_function" metadata for compact classes
+ Don't count instance-parameter when checking for backwards closure
reference [#721]
* Bindings:
- gst-editing-services-1.0: Fix BaseEffect.set_time_translation_funcs()
- gstreamer-audio-1.0: Fix a few binding errors
- gstreamer-base-1.0: Fix a few binding errors
- gstreamer-video-1.0: Fix a few binding errors
- gtk4: Fix content_deserialize_async()
- libarchive: Fix a few binding errors
- libgsf-1: Fix a few binding errors
- libgrss: Fix FeedItem.get_geo_point() parameters
Vala 0.55.90
============
* Various improvements and bug fixes:
- codegen:
+ Emit G_DEFINE_AUTOPTR_CLEANUP_FUNC() for interfaces with base class [#1292]
+ Emit G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC() for structs [#1293]
+ Default to "has_type_id = false" for external error-domains
+ Emit GType definition for error domains [#699]
- vala:
+ Catch and throw possible inner error of lock statements [#83]
+ Keep error-code symbol reference in callable expression context
+ Allow delegate without target to be used as constant type
- girparser: Pick up type_id of error domains
* Bindings:
- glib-2.0: Update 2.70/72 symbols
- gstreamer: Update from 1.21.0+ git main
- vapi: Update GIR-based bindings
Vala 0.55.3
===========
* Highlights:
- Allow usage of dynamic on VarType [#187]
* Various improvements and bug fixes:
- codegen: Use correct target/destroy of delegate field initializer [#1285]
- codegen: Stop generating wrappers for dynamic property access
- gtkmodule: Improve UI parsing and handling of nested objects and properties
- vala:
+ Add missing TraverseVisitor.visit_data_type()
+ Improve check of generic type references in static contexts [#1284]
+ Make sure to drop our "trap" jump target in case of an error [#1287]
+ Move dynamic property errors to semantic analyzer pass
+ Free empty stack list for code contexts
+ Clear SemanticAnalyzer.current_{symbol,source_file} when not needed anymore
* Bindings:
- gio-2.0,glib-2.0,gobject-2.0: Update 2.72 symbols
- gstreamer: Update from 1.19.90+ git main
- gtk4: Specify sentinel for GtkAcessible methods
- gtk4: Update to 4.6.0+06ec4ec1
- vapi: Update GIR-based bindings
Vala 0.55.2
===========
* Highlights:
- Add support for async main and yield statements in main block [#1275]
- Add foreach statement support for GLib.Array and GLib.Sequence
* Various improvements and bug fixes:
- codegen:
+ Avoid symbol clashes with "va_*" from "stdarg.h"
+ Access of inline allocated array is guaranteed to be non null [#1282]
+ Don't uncoditionally null check callback_func for GLib.Closure [#1282]
+ Access of stack allocated struct is guaranteed to be non null [#1282]
+ Write array length of formal parameters with fixed length
- vala:
+ Require lvalue access of delegate target/destroy "fields" [#857]
+ Implement missing YieldStatement.accept()
+ Add support to infer return type of dynamic signals
+ Transform assignment of an array element as needed [#889] [#1258]
- parser: Reduce the source reference of main block method to its beginning
- parser: Improve handling of nullable VarType in with-statement
- manual: Update from wiki.gnome.org
* Bindings:
- glib-2.0,gio-2.0: Update 2.72 symbols
- gstreamer: Update from 1.19.3+ git master
- gtk4: Update to 4.6.0+a092986a
- glib-2.0: Fix criticals in string.joinv() with arrays that start with null
- vapi: Add linux-media bindings (linux/media.h)
- alsa: Add/fix *.alloca() functions
- posix: Add limits.h binding
- v4l2: Update V4l2.Capabilities and fix some inline arrays
Vala 0.55.1
===========
* Highlights:
- Add support for partial classes [#370]
- Add support for nested methods (local functions) [#1232]
- Add multi-line support to Vala.Report [#764]
- Support "emit" for explicit signal emission
- Add native support to specify non default length-type for arrays [#607]
* Various improvements and bug fixes:
- codegen:
+ Move some errors to semantic analyzer pass
+ Stop generating wrappers for dynamic signal connections
+ gdbus: Use g_dbus_method_invocation_take_error() as simplification
+ Initialize type parameter properties for generics earlier [#67]
+ Initialize "result" variable on declaration for abstract methods only
+ Use __once instead of __volatile in generated code
+ Generated SimpleType structs don't have a type id
- vala:
+ Add optional SourceReference parameter to DataType classes
+ Preserve the source reference when resolving data types
+ Set source references of created DataType instances in OCE
+ Set TypeParameter as symbol of GenericType
+ Add accessibility check of type for constants and structs base type
+ Don't allow casting to void [#1070]
+ Don't allow casting real structs to classes or simple-types [#1249]
+ Check accessibility of initializer for constant and enum value
+ Show source location when reporting deprecations
* Bindings:
- Add gnome-desktop-4, gnome-bg-4 and gnome-rr-4 bindings
- Add libsoup-3.0 binding
- Add webkit2gtk-5.0 bindings
- glib-2.0: Add Unicode 14.0 symbols
- glib-2.0: Update 2.72 symbols
- gstreamer: Update from 1.19.3+ git master
- gstreamer-1.0: Make Gst.Uri a sealed class
- gtk4: Update to 4.6.0+06e5da45
- webkit2gtk-*.0: Update to 2.35.1
- vapi: Update GIR-based bindings
Vala 0.54.6
===========
* Various improvements and bug fixes:
- codegen:
+ Allow boxing of non-external SimpleType structs [#1273]
+ Cast given default-value of struct with possible member initializer [#1272]
+ Clear existing length values when revisiting a slice expression [#1274]
- vala:
+ Allow unsafe assignment of integer to enum while reporting a notice
+ Non nullable enum types are simple types [#1268]
+ Correctly replace "in" expression in pre-/postconditions of method [#1269]
* Bindings:
- gio-2.0: Add custom MemoryOutputStream.with_*data() wrappers [#1271]
Vala 0.54.5
===========
* Various improvements and bug fixes:
- codegen:
+ Correctly handle chain up of struct creation methods [#1264]
+ Use a dedicated EmitContext for _variant_get*() functions
+ gtkmodule: Handle nested closure elements and bind them accordingly [#1262]
- vala:
+ NullLiteral is not a valid argument for string concatenation [#1260]
+ Set is_yield_expression in async context when chaining up to async base ctor
+ Report statement parsing error if it is not meant to be an expression [#1261]
+ girparser: Avoid possibily creating duplicated attributes
- vapigen.m4: use $PKG_CONFIG_SYSROOT_DIR
* Bindings:
- glib-2.0: Always use the actual C type for CCode.array_length_type
- gstreamer: Cherry-pick bindings fixes from 0.56
- gstreamer-1.0: Unskip the ElementFactory.make/create_full() symbols
Vala 0.54.4
===========
* Various improvements and bug fixes:
- codegen:
+ Use CCodeConstant for member access of constant symbol
+ Emit constants without initializer list in defines section [#440]
+ Add and use CCodeConstantIdentifier for accessing constants
+ Check required length of enum type name for GType support
+ Add missing check while overriding virtual async interface methods [#852]
+ Drop inconsistent space for ObjectType parameters
+ Accept CCode.type attribute on parameters [#876]
+ Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
- vala:
+ Improve error message for invalid handler of dynamic signal
+ Using SignalHandler.disconnect() is required for dynamic signals
+ Check for unavailable value-type of variable initializer [#1253]
+ Add [Profile] as known attribute for methods
+ Report error on missing gio-2.0 package for async constructors
+ Fix signals with generic return
+ parser: Split out Parser.parse_switch_section_statement()
+ parser: Better handling of misplaced switch sections [#1246]
- genie:
+ Amend text of indent and dedent for error messages [#497]
+ Accept INTERR token before type arguments when parsing type [#1245]
+ Properly handle plain "get" or "set" property accessors [#1248]
+ "exception" is the expected string for TokenType.ERRORDOMAIN
+ Accept accessibility/async modifiers on "construct" creation methods [#1235]
- girparser: Accept "sealed" for transformed records and compact classes
- gtkmodule: Improve error message for invalid signal element in ui-file
- build: Add "test-update" which passed UPDATE_EXPECTED=1 to refresh c-expected
- tests: Rename colliding test cases to avoid conflicts
* Bindings:
- alsa: Add more API and fix a few things
- gnome-desktop-3.0: Some parameter fixes
- gstreamer: Cherry-pick bindings fixes from 0.56
- gstreamer-base-1.0: Some parameter fixes [#1255]
- gtk4: Update to 4.5.0~cd9b7307
- pango: Cherry-pick bindings fixes from 0.56
Vala 0.54.3
===========
* Various improvements and bug fixes:
- codegen: Actually free data when using "remove(_all)"
on GLib.Queue/(S)List [#1238]
- vala:
+ Parameter following ellipsis parameter is not allowed [#1237]
+ More thorough check of ValueType and set CodeNode.error on failure
+ Really check compatiblity of error types for delegate symbol
+ Correctly output signature of callable throwing error
+ Report error for non ErrorType in throws
+ Implement CodeWriter.visit_foreach_statement()/visit_catch_clause()
- parser: Make sure ErrorCodes are accessible as needed
- girparser: Add support for "ref_/ref_sink_/unref_function"
metadata for classes [#1233]
Vala 0.54.2
===========
* Various improvements and bug fixes:
- vala:
+ Multi-dimensional params-array not allowed [#1230]
+ Accept NullType as generic type argument
+ Set source references of created DataType instances in OCE
* Bindings:
- gio-2.0: Update to 2.71.0~a0d2efdc
- glib-2.0: Update 2.70 symbols
- gtk4: Update to 4.5.0~da5efea6
Vala 0.54.1
===========
* Regression and bug fixes:
- codegen:
+ Add type declaration for implicit temporary local variable
+ Sealed class in external package is not special [#1229]
* Bindings:
- gstreamer: Update from 1.19.0+ git master
- gtk4: Update to 4.5.0~3e20ecd6
2022.3.24
* Remove double prompt for EASE mode
* Add background tab to instruct users on how to turn on HTTPS-only mode in major browsers
* Dependency and rules updates
Changes for 1.0.0 'Peregrine falcon':
-------------------------------------
1.0.0 is a major release of dav1d, adding important features and bug fixes.
It notably changes, in an important way, the way threading works, by adding
an automatic thread management.
It also adds support for AVX-512 acceleration, and adds speedups to existing x86
code (from SSE2 to AVX2).
1.0.0 adds new grain API to ease acceleration on the GPU, and adds an API call
to get information of which frame failed to decode, in error cases.
Finally, 1.0.0 fixes numerous small bugs that were reported since the beginning
of the project to have a proper release.
.''.
.''. . *''* :_\/_: .
:_\/_: _\(/_ .:.*_\/_* : /\ : .'.:.'.
.''.: /\ : ./)\ ':'* /\ * : '..'. -=⭕=-
:_\/_:'.:::. ' *''* * '.\'/.' _\(/_'.':'.'
: /\ : ::::: *_\/_* -= o =- /)\ ' *
'..' ':::' * /\ * .'/.\'. '
* *..* :
* :
* 1.0.0
1.21.0 - 2022-03-07
-------------------
* Require Python 3.7+ :pr:`250`
* Require meson 0.53+
* Using `setup.py` directly to build/install pycairo is deprecated.
Use meson instead.
* `setup.py` now requires setuptools. Previously it was optional.
* The complete API reference is now included in the typing stubs, so it can be consumed/shown by IDEs. :pr:`236` :pr:`252`
pkgsrc change: fix readline for CLI, enable browser support.
## 2.7.0 (2022-03-21)
### Major Additions
- Implement KDBX 4.1 [#7114]
- Add direct write save option for cloud storage and GVFS [#6594]
- Prevent screen capture on Windows and macOS [#6030]
- Support quick unlock using Windows Hello [#7384]
- Support quick unlock using Apple Watch [#5526]
- Allow specifying database backup paths [#7035]
- Add tag functionality [#6487][#7436][#7446]
- Add password rating column to entry view [#4797]
- Add group clone action [#6124]
- Show modifications between entry history items [#6789]
- Ability to bulk-delete and purge unused custom icons [#5970]
- Support adding custom passphrase wordlists [#6799]
- Support passphrase wordlists in numbered and PGP-signed formats [#6791]
- Implement support for hardware keys via wireless NFC [#6895]
- SSH Agent: Add support for OpenSSH 8.2 FIDO/U2F keys [#6371]
- CLI: Implement attachment handling [#5538]
- CLI: Add support for okon in offline HIBP checks [#5478]
- CLI: Implement `search` command and remove `locate` [#6805]
- CLI: Add db statistic output to `db-info` command [#7032]
- CLI: Add -i/--include option to `generate` command. [#7112]
- CLI: Add a -n (--notes) option to `add` and `edit` commands [#4646]
- CLI: Add keyfile option to `import` command [#5402]
- CLI: Adding a best option to clip to copy a password of the best match [#4489]
- Browser: Add Microsoft Edge support on Linux [#7100]
- Browser: Support native password generator from the extension [#6529]
- Browser: Add group settings [#4180]
- Browser: Add feature to ignore entries for HTTP-Auth Logins [#5394]
- Browser: Support triggering Auto-Type from browser extension [#6272]
- Browser: Add delete-entry command to API [#6899]
- Browser: Add search 'by-path' url to API [#5535]
- Browser: search for entries by UUID to API [#4763]
- Browser: Support auto-download of favicon on entry addition [#7179]
- Auto-Type: Major improvements to Auto-Type [#5864][#7463][#7435][#7391][#7129][#6400][#6364][#6361][#5283][#7507]
- Auto-Type: Fix typing to virtual machines on Windows [#7366]
- Auto-Type: Re-implement X11 keysym emulation [#7098]
- Auto-Type: Support multiple Xkb layouts [#6247]
- Auto-Type: Abort keystroke if modifiers held on X11 [#6351][#6357]
- Auto-Type: Add TOTP option to entry level Auto-Type menu [#6675]
- FdoSecrets: Major Refactor and Code Consolidation [#5747][#5660][#7043][#6915]
- FdoSecrets: Implement unlock before search [#6943]
- Reports: Add browser statistics report [#7197]
### Major Changes
- Port crypto backend to [Botan](https://github.com/randombit/botan) [#6209]
- Improve attachment handling and security [#6606][#5034][#7083]
- Allow selecting any open database in unlock dialog [#5427]
- KeeShare: Remove checking signed container and QuaZip dependency [#7223]
- Introduce security option to enable copy on double click (default off) [#6433]
- Add 'delete entry without confirm' functionality [#5812]
- Improve macOS and Windows platform integration [#5851]
- Lock only the current database by default [#6652]
- Show expired entries on DB unlock [#7290]
- Update D-Bus adaptor interface class name to match definition file [#7523]
### Other Changes and Fixes
- Add countdown progress bar to TOTP preview [#6930]
- Enter favicon url directly on icons page [#6614]
- Set C++17 as standard in the build system [#7180]
- Internalize ykcore into code base [#6654]
- Transition to Visual Studio builds on Windows [#5874]
- Ability to delete entries from health check reports [#6537]
- Enhance remembering last-used directories [#6711]
- Implement org.freedesktop.appearance.color-scheme support on Linux [#7422]
- Support sorting HTML export [#7011]
- Add display number of characters in passphrases [#5449]
- Use Alt+Tab on macOS to switch between databases [#5407]
- Add feature to sort groups using shortcut keys [#6999]
- Add CTRL+Enter to apply password generator changes [#6414]
- Display `Database created` timestamp on statistics report [#6876]
- Browser: Improve best matching credentials setting [#6893]
- SSH Agent: Use both Pageant and OpenSSH agent simultaneously on Windows [#6288]
- SSH Agent: Allow using database path to resolve keys [#6365]
- SSH Agent: Show correct error messages in main window [#7166]
- Multiple fixes for MSI installer [#6630]
- Fix tab order for CSV import dialog to match screen order [#7315]
- Don't mark kdbx:// urls as invalid [#7221]
- Make selected text copyable instead of copying password [#7209]
- Detect timestamp resolution for CSV files [#7196]
- Fix crash while downloading favicon [#7104]
- Correct naming of newly generated keyx files [#7010]
- Place the 'Recycle Bin' at the bottom of the list when groups are sorted [#7004]
- Handle tilde with custom browser paths [#6659]
- Don't scroll up when deleting an entry [#6833]
- Set the MIME-Type to text/plain when using wl-copy on wayland [#6832]
- Fix adaptive icon painting [#5989][#6033]
- Fix favicon download from URL with non-standard port [#5509]
- Ignore recycle bin on KeePassHTTP migration [#5481]
- Fix keepassxc-cr-recovery utility [#7521]
- Fix Auto-Type not working when audio recording indicator is active on macOS 12.2+ [#7526]
Overview of changes leading to 4.1.0
Wednesday, March 23, 2022
====================================
- Various OSS-Fuzz fixes. (Behdad Esfahbod)
- Make fallback vertical-origin match FreeType’s. (Behdad Esfahbod)
- Treat visible viramas like dependent vowels in USE shaper. (David Corbett)
- Apply presentation forms features and discretionary features in one go in
Indic shaper, which seems to match Uniscribe and CoreText behaviour.
(Behdad Esfahbod, David Corbett)
- Various bug fixes.
- New API
+hb_set_add_sorted_array()
4.10.1- 28 March 2022
o Re-release 4.10 because a CMakeLists.txt error included only the
Portuguese version of the Tutorial and Concepts Guide.
4.10 - 27 March 2022
o Update Preferences documentation to match current state
o Fix 2 "[WARN] FOUserAgent - Destination: Unresolved ID reference"
o Updates to Gen Imp Tran Matcher other than for new Append checkbox
o Adjusted entity for image width in gnc-docbookx.dtd and removed a
duplicate entry.
o Improve the documentation of the Find dialog.
o Memo isn't a transaction field, Notes is.
o F::Q Link to IRC channel inserted as entity
o F::Q insert note on NAV, insert Entity for Data file
o Remove country codes from lang attribute and other minor formalities
4.10 - 27 March 2022
The eleventh release of the 4.x Stable Series
Between 4.9 and 4.10, the following bugfixes were accomplished:
Bug 684507 - commodity namespace should be localized
Bug 741674 - Newly created Scheduled Transactions appear in existing search windows
Bug 797501 - Currency symbols in Hebrew (RTL) language
Bug 797772 - Allow reconciliation report to double filter by both posting and reconciliation date
Bug 798164 - Import transaction window does not allow changing the transaction description.
Bug 798272 - up/down arrow keys do not work in account selection pop-up
Bug 798375 - Transfer Account Selection not editable after typing error
Bug 798386 - Cannot increment date by 1 day with Japanese keyboard.Allow ';' to increment the date because on those keyboards + is shift-;.
Bug 798391 -OFX import routine keeps prompting for accepted (and reconciled) transactions when imported again
Bug 797610 - Scrolling is too fast to follow
Bug 798392 - Reports do not display when Reports JavaScript dependencies are located at a filepath that includes special characters like hash ("#")
Bug 798395 - ofxdirectconnect downloads crash gnucash 4.9
Bug 798408 - The calculation in budgets UI and reports are wrong.
Bug 798411 - Untranslated/Unused string [pt only]
Bug 798415 - Due Bills Reminder Dialog - Right align 'amount'This was a right-to-left language (e.g. Hebrew) problem.
Bug 798435 - Crash on print after printing checks
Bug 798438 - on reconcile window, click on the last column 'R' does not order the entries according with the status
Bug 798448 - Column 'num' cannot be null
Bug 798458 - Build failure with gcc 12
Bug 798474 - Windows 10: Mouse scroll wheel on register only scrolls 1 pixel at a time (instead of 1 line at a time)
The following fixes and improvements were not associated with bug reports:
Added a BETA Stock Transaction Assistant to help create a
variety of securities transactions. To try it out start GnuCash
with the --extra option, open a stock-type register, and select
Actions>Stock Assistant. Please note any issues on Bug 798004.
Remove the hard-coded default namespaces"AMEX", "NASDAQ",
"NYSE", "EUREX", and "FUND" from the New Security dialog. These
namespaces were added to the list of existing namespaces; it
was necessary to create a commodity that used one of them to
make that one an actual namespace, so users who have commodities
in e.g. the namespace NYSE will still see that namespace in
the selection list. Reasoning: The list was necessarily incomplete
and confused new users.
Fixed the Income Statement report table formating so that all sections get laid out to the same width.
[Python Bindings]Implement some comparison and arithmetic operators for GncNumeric
Budgets are sensitive to readonly status
Disable some budget features if book is readonly
Fix suppression of "cut split/transaction" warnings for the current session
These were not working because they were missing from the
temporary warnings settings schema. The warnings could only be
dismissed permanently. Add them to the temporary warnings
section of the settings schema.
Currencies in several locations not displayed correctly for Hebrew
[category-barchart] Added option to show ratios
[html-chart] Add format style option for numbers
Better wording for tax table changed info message.
[register] Checkbox any value other than 0x20 (ASCII space) is true.
Because it can be X or U+2716 now and could be something else
in future. Fixes in particular the disappearing tax-included
and tax-table in the Invoice/Bill entry register.
[gnc-budget-view.c] modify GList in reverse
because the GList modification in gnc_budget_view_refresh works
on the tail end (see g_list_last being chopped off successively,
followed by g_list_append successively), wherease it's much
faster to work on the head end. Therefore: reverse, modify,
and re-reverse.
[Python Bindings]Provide the complete set of QOF enums in gnucash
[Pyton Bindings]Provide wrapper for qof numeric predicate
Python bindings already have some wrapping objects for qof
predicates. This adds the one missing for GncNumeric comparisons.
Additionally fixes a wrong number for QOF_NUMERIC_MATCH_ANY in
example file.
Remove commodity-table.scm, no longer required after adjusting qif-dialog-utils
Preferences, Import: UPDATE AND RECONCILE should be UPDATE AND CLEAR
on preference "Enable update match action" tooltip text.
[register] Enable horizontal scrolling with a touchpad.
[business]Add diagnostic messages to GncEntry and GncInvoice.
Replace code style guidance with reference to the wiki Coding Standard page.
Update Form/Schedule line references for 2021 for the US Income Tax Report
Update the register help label when cell read only
Change AR/AP Type cell to be read only
The Type cell in AR/AP registers should not be changeable from the register so make the cell read only.
Tip-of-the-Day, new tip: the full file path is shown in the status bar.
[assistant-qif-import] Prevent ambiguous mnemonic
Mnemonic N clashes with GtkAssistant "Next". Change to D which does not clash.
Numerous performance and code-clarity improvements.
Undeprecation and minor revisal of the OSS driver (#1038)
Minor improvements to CoreAudio and CoreMidi drivers (#1047, thanks to @bradhowes)
Fix sustained voices being held after ALL_CTRL_OFF (#1049)
Fix clobbering of PORTAMENTO_CTRL after ALL_CRTL_OFF (#1050)
Prevent Modulation Envelope from being stuck in decay phase, causing
detuned voices and potentially other audible glitches for some
soundfonts (#1059)
Fix a compilation issue with recent glib (#1063, thanks to @devingryu)
export libjxl version #
set pixel format in image out block
coders: sync JXL output
Changed the format of MAGICK_GIT_REVISION and use this in -version.
Restore dds:compression=dxt5 behavior
Coders: proper check for out of bounds per https://bugs.chromium.org/…
Coders: eliminate compiler warnings
fix issue: outside the range of representable values of type 'unsigne…
Coders: PS and EPS %%BoundingBox not being parsed #4961
Coders: support 10-bit AVIF per #4932
Fix setting the pixel intensity method with SetImageProperty (#4969)
MagickCore: cosmetic
MagickCore: support getentropy()
build: release
getentropy() requires sys/random.h include
pending release
Changes in 3.0.8 (since 3.0.7)
* Notable changes
** Cross-module inlining
Although historically Guile has treated modules as glorified hash
tables, most modules are actually _declarative_ -- they just define
functions and variables and provide them for other modules to use, and
don't manipulate modules as first-class objects. See "Declarative
Modules" in the manual, for more discussion.
Since version 3.0.0, Guile has taken advantage of declarative semantics
to allow a top-level definition to be inlined within its uses in the
same compilation unit, provided the binding is never assigned and
defined exactly once. Guile 3.0.8 extends this to allow some
exported declarative definitions to be inlined into other modules.
This facility is mostly transparent to the user and is enabled at the
default -O2 optimization level. "Small" definitions are available for
cross-module inlining (-Oinlinable-exports, included at -O2). The
actual inlining decision is performed by Guile's partial evaluation pass
(the -Ocross-module-inlining modifier to -Opeval, included at -O2 also),
subject to effort and size growth counters.
Note however that as with macros, when a definition changes in module A,
a separately compiled module B that uses that definition doesn't
automatically get recompiled. This is a limitation in Guile that we
would like to fix.
As another limitation, cross-module inlining is only available for
imports from modules which have already been compiled at -O2 (or
otherwise with -Oinlinable-exports).
When determining whether to enable this facility by default, we weighed
the usability problems of stale inlined bindings against the benefit of
allowing module boundaries to no longer be optimization boundaries, we
ended up on the "let's do it!" side of the equation. However we welcome
feedback from users as to what should be the default behavior, until
such a time as we have a proper notion of when a compiled file is stale
or not.
** Avoid the need for a custom GMP allocator
In Guile 3.0.6, we fixed a longstanding bug in Guile's use of the
library that Guile uses to implement bignums (large integers), GMP
(https://gmplib.org). See the Guile 3.0.6 release notes. However this
left us with a suboptimal Guile, in which each large integer had to have
a finalizer to free the memory allocated by GMP. Finalizers take time
and space, and so they limit allocation rate, causing bignum performance
to drop. Though you could set an environment variable to go back to the
older, faster behavior, it wasn't the default.
In Guile 3.0.8 we fix this problem comprehensively by avoiding embedding
GMP's mpz_t values in Guile bignums. Instead we embed the bignum digits
directly, avoiding the need for finalizers or custom allocators. This
removes the need for the GUILE_INSTALL_GMP_MEMORY_FUNCTIONS environment
variable mentioned in the Guile 3.0.6 release notes. We also deprecate
the scm_install_gmp_memory_functions variable.
* New interfaces and functionality
** Typed vector copy functions in (srfi srfi-4 gnu)
The functions `u8vector-copy' `s8vector-copy' `u16vector-copy'
`s16vector-copy' `u32vector-copy' `s32vector-copy' `u64vector-copy'
`s64vector-copy' `f32vector-copy' `f64vector-copy' `c32vector-copy'
`c64vector-copy' `u8vector-copy!' `s8vector-copy!' `u16vector-copy!'
`s16vector-copy!' `u32vector-copy!' `s32vector-copy!'
`u64vector-copy!' `s64vector-copy!' `f32vector-copy!'
`f64vector-copy!' `c32vector-copy!' `c64vector-copy!' have been
added. See SRFI-4 - Guile extensions" in the manual.
** New function srfi-4-vector-type-size in (srfi srfi-4 gnu)
See SRFI-4 - Guile extensions" in the manual.
** `bytevector-fill!' supports partial fill through optional arguments
This is an extension to the r6rs procedure. See "Manipulating
Bytevectors" in the manual.
** `vector-copy!' and `vector-copy' from (rnrs base) included in core
Compared to the previous versions, these accept range arguments. See
"Accessing and Modifying Vector Contents" in the manual.
** New function bitvector-copy
See "Bit vectors" in the manual.
** (system foreign) supports C99 complex types
The types `complex-float' and `complex-double' stand for C99 `float
_Complex' and `double _Complex` respectively.
* Other new optimizations
** Better optimization of "let" in right-hand-side of "letrec"
** Allow constant-folding for calls to "expt"
Thanks to Maxime Devos.
** Add ,optimize-cps REPL meta-command
This meta-command is like ,optimize, but at a lower level.
** Improve alias analysis in common subexpression elimination
** Avoid argument-count checks for well-typed calls to known procedures
This speeds up calls to lexically bound procedures.
** Avoid return-value-count checks for calls to known-return-arity procedures
This new optimization, enabled at -O2, speeds up returns from calls to
lexically bound procedures.
* Build system changes
** Update Gnulib (bugs.gnu.org/49930)
Update gnulib to 8f4538a53d64054ae2fc8b86c0f87c418c6176e6.
** Compile libguile with -flto if available
By default, if the compiler supports link-time optimization via the
-flto flag, Guile will add it to CFLAGS. This results in a libguile
that is approximately 15% smaller. Pass --disable-lto to configure to
inhibit this behavior.
** Trim set of prebuilt .go files shipped in the tarball
Guile includes built Scheme files in its tarball to speed up the build,
for casual builders that are less concerned with reproducibility.
However they took a lot of space and we have now trimmed these down to a
more minimal set. As always, you can remove them and build entirely
from source via a `make -C prebuilt clean`.
* New deprecations
** Vector functions require vector arguments
Passing arrays that are not vectors (arrays for which `(vector? array)'
returns false) to functions `vector-move-left!', `vector-move-right!',
`vector->list', and `vector-copy' is deprecated. Use `array-copy!',
`array-copy', and `array->list' for such arguments.
** `scm_from_contiguous_typed_array' is deprecated
This function was added during the Guile 2.x series and was not
documented and is no longer used in Guile itself.
** Deprecate the "simple vector" concept, `scm_is_simple_vector'
This concept meant to indicate "vectors which aren't array slices". Use
scm_is_vector.
** Deprecate internal contiguous array flag
We still reserve space for the flag to preserve ABI but it has no
effect. As such we also remove the internal SCM_I_ARRAY_CONTIGUOUS,
SCM_SET_ARRAY_CONTIGUOUS_FLAG, SCM_CLR_ARRAY_CONTIGUOUS_FLAG,
SCM_I_ARRAY_CONTP preprocessor interfaces, as they were internal and
there is no longer a sensible way of using them.
** Deprecate symbol properties
Symbols used to have a "function slot" and a "property slot", inherited
from Emacs Lisp and early Lisps, which one would access with
'symbol-pref', 'symbol-fref', 'symbol-pset!', and 'symbol-fset!'. These
procedures have been discouraged in favor of object properties; they are
now deprecated. This saves a few words of memory per symbol.
* Bug fixes
** Fix compilation of (ash x N), where N is a literal, at -O1 and below
** Texinfo and XML parsers are now thread-safe (bugs.gnu.org/51264)
** Fix `filename-completion-function' in (ice-9 readline)
** Fix trace-calls-to-procedure (bugs.gnu.org/43102, bugs.gnu.org/48412)
** Fix bug in nftw function (bugs.gnu.org/44182)
** Fix optimization bug in CSE in eq-constant? if both branches same
** Fix readline initialization with invalid keymaps
** Fix crash when reading #nil (bugs.gnu.org/49305)
** Fix read error when reading #{}}#.
** Fix Darwin host detection in foreign-library facility.
** Fix unification of (x ...) patterns in `match'
** Fix scaling floats with leading zeroes in `format'
** Improve support for r7rs-style `(srfi N)' and r6rs-style `(srfi :N)
module names (bugs.gnu.org/39601, bugs.gnu.org/40371)
** Add support for the ARC architecture (bugs.gnu.org/48816)
** Build fix for const strerror result (bugs.gnu.org/43987)
** Fix typos in SRFI documentation (bugs.gnu.org/50127)
** Fix bounds check in `recvfrom!' (bugs.gnu.org/45595)
** Add support for riscv32
** Limit `ash' to left-shift by 2^32 bits (bugs.gnu.org/48150)
** Fix type confusion in heap-numbers-equal? calls from VM
2.4.1:
* improve `resize()`
* optimize `copy_n()` by avoiding loops
* `.bytereverse()` no longer sets unused bits to zero
2.4.0:
* enable building wheels for multiple platforms and Python versions using
pypa/cibuildwheel
* use setuptools instead of distutils in `setup.py`
* add missing type hinting for `.count()` step argument
2.69.0 - 2022-03-29
* API Updates
* Add support for Search API
* Add support for `search` method on resources `Charge`, `Customer`, `Invoice`, `PaymentIntent`, `Price`, `Product`, and `Subscription`
* Pin click dependency to 8.0.4 to avoid breakage in black
* Add infrastructure for test-helper methods
* Revert Orders to use qualified name for upload_api_base
2.68.0 - 2022-03-23
* API Updates
* Add support for `cancel` method on resource `Refund`
* Add support for SearchResult.
Version 14.19.1 'Fermium' (LTS)
This is a security release.
Notable Changes
Update to OpenSSL 1.1.1n, which addresses the following vulnerability:
Infinite loop in BN_mod_sqrt() reachable when parsing certificates (High)(CVE-2022-0778) More details are available at https://www.openssl.org/news/secadv/20220315.txt
pkgsrc change:
Add unistd.h to gzguts.h to fix warning on NetBSD.
Changes in 1.2.12 (27 Mar 2022)
- Cygwin does not have _wopen(), so do not create gzopen_w() there
- Permit a deflateParams() parameter change as soon as possible
- Limit hash table inserts after switch from stored deflate
- Fix bug when window full in deflate_stored()
- Fix CLEAR_HASH macro to be usable as a single statement
- Avoid a conversion error in gzseek when off_t type too small
- Have Makefile return non-zero error code on test failure
- Avoid some conversion warnings in gzread.c and gzwrite.c
- Update use of errno for newer Windows CE versions
- Small speedup to inflate [psumbera]
- Return an error if the gzputs string length can't fit in an int
- Add address checking in clang to -w option of configure
- Don't compute check value for raw inflate if asked to validate
- Handle case where inflateSync used when header never processed
- Avoid the use of ptrdiff_t
- Avoid an undefined behavior of memcpy() in gzappend()
- Avoid undefined behaviors of memcpy() in gz*printf()
- Avoid an undefined behavior of memcpy() in _tr_stored_block()
- Make the names in functions declarations identical to definitions
- Remove old assembler code in which bugs have manifested
- Fix deflateEnd() to not report an error at start of raw deflate
- Add legal disclaimer to README
- Emphasize the need to continue decompressing gzip members
- Correct the initialization requirements for deflateInit2()
- Fix a bug that can crash deflate on some input when using Z_FIXED
- Assure that the number of bits for deflatePrime() is valid
- Use a structure to make globals in enough.c evident
- Use a macro for the printf format of big_t in enough.c
- Clean up code style in enough.c, update version
- Use inline function instead of macro for index in enough.c
- Clarify that prefix codes are counted in enough.c
- Show all the codes for the maximum tables size in enough.c
- Add gznorm.c example, which normalizes gzip files
- Fix the zran.c example to work on a multiple-member gzip file
- Add tables for crc32_combine(), to speed it up by a factor of 200
- Add crc32_combine_gen() and crc32_combine_op() for fast combines
- Speed up software CRC-32 computation by a factor of 1.5 to 3
- Use atomic test and set, if available, for dynamic CRC tables
- Don't bother computing check value after successful inflateSync()
- Correct comment in crc32.c
- Add use of the ARMv8 crc32 instructions when requested
- Use ARM crc32 instructions if the ARM architecture has them
- Explicitly note that the 32-bit check values are 32 bits
- Avoid adding empty gzip member after gzflush with Z_FINISH
- Fix memory leak on error in gzlog.c
- Fix error in comment on the polynomial representation of a byte
- Clarify gz* function interfaces, referring to parameter names
- Change macro name in inflate.c to avoid collision in VxWorks
- Correct typo in blast.c
- Improve portability of contrib/minizip
- Fix indentation in minizip's zip.c
- Replace black/white with allow/block. (theresa-m)
- minizip warning fix if MAXU32 already defined. (gvollant)
- Fix unztell64() in minizip to work past 4GB. (Daniël Hörchner)
- Clean up minizip to reduce warnings for testing
- Add fallthrough comments for gcc
- Eliminate use of ULL constants
- Separate out address sanitizing from warnings in configure
- Remove destructive aspects of make distclean
- Check for cc masquerading as gcc or clang in configure
- Fix crc32.c to compile local functions only if used
enhancement:
-Open files whether its extension in lowercase or uppercase d946b5f
-Follow symlink if it leads to a directory dac7f88
-Implement memoization of move when going to symlink dir 6860c5d
-Print help by fx -h | fx --help 884180f