# Changes in version 0.13.0.0
* `mkType` from `Data.Vector.Generic` is deprecated in favor of
`Data.Data.mkNoRepType`
* The role signatures on several `Vector` types were too permissive, so they
have been tightened up:
* The role signature for `Data.Vector.Mutable.MVector` is now
`type role MVector nominal representational` (previously, both arguments
were `phantom`). [#224](https://github.com/haskell/vector/pull/224)
* The role signature for `Data.Vector.Primitive.Vector` is now
`type role Vector nominal` (previously, it was `phantom`).
The role signature for `Data.Vector.Primitive.Mutable.MVector` is now
`type role MVector nominal nominal` (previously, both arguments were
`phantom`). [#316](https://github.com/haskell/vector/pull/316)
* The role signature for `Data.Vector.Storable.Vector` is now
`type role Vector nominal` (previous, it was `phantom`), and the signature
for `Data.Vector.Storable.Mutable.MVector` is now
`type role MVector nominal nominal` (previous, both arguments were
`phantom`). [#235](https://github.com/haskell/vector/pull/235)
We pick `nominal` for the role of the last argument instead of
`representational` since the internal structure of a `Storable` vector is
determined by the `Storable` instance of the element type, and it is not
guaranteed that the `Storable` instances between two representationally
equal types will preserve this internal structure. One consequence of this
choice is that it is no longer possible to `coerce` between
`Storable.Vector a` and `Storable.Vector b` if `a` and `b` are nominally
distinct but representationally equal types. We now provide
`unsafeCoerce{M}Vector` and `unsafeCast` functions to allow this (the onus
is on the user to ensure that no `Storable` invariants are broken when
using these functions).
* Methods of type classes `Data.Vector.Generic.Mutable.MVector` and
`Data.Vector.Generic.Vector` use concrete monads (`ST`, etc) istead of being
polymorphic (`PrimMonad`, etc). [#335](https://github.com/haskell/vector/pull/335).
This makes it possible to derive `Unbox` with:
* `GeneralizedNewtypeDeriving`
* via `UnboxViaPrim` and `Prim` instance
* via `As` and `IsoUnbox` instance: [#378](https://github.com/haskell/vector/pull/378)
* Add `MonadFix` instance for boxed vectors: [#312](https://github.com/haskell/vector/pull/312)
* Re-export `PrimMonad` and `RealWorld` from mutable vectors:
[#320](https://github.com/haskell/vector/pull/320)
* Add `maximumOn` and `minimumOn`: [#356](https://github.com/haskell/vector/pull/356)
* The functions `scanl1`, `scanl1'`, `scanr1`, and `scanr1'` for immutable
vectors are now defined when given empty vectors as arguments,
in which case they return empty vectors. This new behavior is consistent
with the one of the corresponding functions in `Data.List`.
Prior to this change, applying an empty vector to any of those functions
resulted in an error. This change was introduced in:
[#382](https://github.com/haskell/vector/pull/382)
* Change allocation strategy for `unfoldrN`: [#387](https://github.com/haskell/vector/pull/387)
* Remove `CPP` driven error reporting in favor of `HasCallStack`:
[#397](https://github.com/haskell/vector/pull/397)
* Remove redundant `Storable` constraints on to/from `ForeignPtr` conversions:
[#394](https://github.com/haskell/vector/pull/394)
* Add `unsafeCast` to `Primitive` vectors: [#401](https://github.com/haskell/vector/pull/401)
* Make `(!?)` operator strict: [#402](https://github.com/haskell/vector/pull/402)
* Add `readMaybe`: [#425](https://github.com/haskell/vector/pull/425)
* Add `groupBy` and `group` for `Data.Vector.Generic` and the specialized
version in `Data.Vector`, `Data.Vector.Unboxed`, `Data.Vector.Storable` and
`Data.Vector.Primitive`. [#427](https://github.com/haskell/vector/pull/427)
* Add `toArraySlice` and `unsafeFromArraySlice` functions for conversion to and
from the underlying boxed `Array`: [#434](https://github.com/haskell/vector/pull/434)
### 2.1.0.0
- Change time instances of types with year (`Day`, `UTCTime`) to require years with at least 4 digits.
- Change `KeyValue` instances to be more general (and use equality to constraint them) instead of being more lax flexible instances.
- Export `Key` type also from `Data.Aeson.KeyMap` module.
- Export `mapWithKey` from `Data.Aeson.KeyMap` module.
- Export `ifromJSON` and `iparse` from `Data.Aeson.Types`. Add `iparseEither`.
- Add `MonadFix Parser` instance.
- Make `Semigroup Series` slightly lazier
- Add instances for `Generically` type
[v0.7.3] Released on: August 18, 2022.
Fix: Windows compile warnings.
Fix: Clippy warning for rust v1.63.0.
Fix: Compile error for lofty 0.8.
Fix: tag editor delete error.
5.71
Patch for Theobromine, Niacin, and Cobalamin from Richard Narron,
richard AT aaazen.com.
Added cuboctahedron from mxico to ico mode.
xmlock updates for Athena for toggles. Fix also for Xaw3d. I think
it has most of the working parts to the Motif version now.
New features:
- mold/macOS is now available as an alpha feature. We do not recommend using
it for anything serious though. Starting from this version, we accept not
only mold/Unix issues but also mold/macOS ones on our GitHub Issues. Feel
free to file a bug if you encounter any problem.
- We started supporting CMake in addition to Make to build mold. Our long-term
plan is to migrate from Make to CMake because we want to support Windows
eventually and CMake provides a better Windows support than Make does.
Bug fixes and compatibility improvements:
- There was a bug that mold accidentally exported a hidden symbol from an
executable if a shared library linked to that executable happened to define
the same symbol. This caused a build issue with Blender. The bug has been
fixed.
- --hash-style=both is now the default if no --hash-style option is given.
Previously, --hash-style=sysv was the default. This change shouldn't affect
most users because the compiler driver (cc, gcc, clang, etc.) always passes
--hash-style to the linker. We made this change because GNU ld defaults to
--hash-style=both.
- Alias symbols defined by the --defsym option now have the same scope as the
aliased symbols. Previously, alias symbols defined by --defsym were always
hidden and never be exported as dynamic symbols.
- mold now accepts foo = bar-style linker script directive to define symbol
aliases. Previously, such statement was treated as a syntax error. This
change was made to link mariadb-connector-c correctly.
- Symbols in mergeable string sections now have correct output section indices
instead of SHN_UNDEF.
- [ARM32] Previously, calling a function from ARM code to Thumb code caused a
program crash due to bug #442. This issue has been fixed.
Changes:
## 1.3.1 / 2021-12-01
* [BUGFIX] Handle nil CPU thermal power status on M1
* [BUGFIX] bsd: Ignore filesystems flagged as MNT_IGNORE.
* [BUGFIX] Sanitize UTF-8 in dmi collector
## 1.3.0 / 2021-10-20
NOTE: In order to support globs in the textfile collector path, filenames exposed by
`node_textfile_mtime_seconds` now contain the full path name.
* [CHANGE] Add path label to rapl collector
* [CHANGE] Exclude filesystems under /run/credentials
* [CHANGE] Add TCPTimeouts to netstat default filter
* [FEATURE] Add lnstat collector for metrics from /proc/net/stat/
* [FEATURE] Add darwin powersupply collector
* [FEATURE] Add support for monitoring GPUs on Linux
* [FEATURE] Add Darwin thermal collector
* [FEATURE] Add os release collector
* [FEATURE] Add netdev.address-info collector
* [FEATURE] Add clocksource metrics to time collector
* [ENHANCEMENT] Support glob textfile collector directories
* [ENHANCEMENT] ethtool: Expose node_ethtool_info metric
* [ENHANCEMENT] Use include/exclude flags for ethtool filtering
* [ENHANCEMENT] Add flag to disable guest CPU metrics
* [ENHANCEMENT] Add DMI collector
* [ENHANCEMENT] Add threads metrics to processes collector
* [ENHANCMMENT] Reduce timer GC delays in the Linux filesystem collector
* [ENHANCMMENT] Add TCPTimeouts to netstat default filter
* [ENHANCMMENT] Use SysctlTimeval for boottime collector on BSD
* [BUGFIX] ethtool: Sanitize metric names
* [BUGFIX] Fix ethtool collector for multiple interfaces
* [BUGFIX] Fix possible panic on macOS
* [BUGFIX] Collect flag_info and bug_info only for one core
* [BUGFIX] Prevent duplicate ethtool metric names
## 1.2.2 / 2021-08-06
* [BUGFIX] Fix processes collector long int parsing
## 1.2.1 / 2021-07-23
* [BUGFIX] Fix zoneinfo parsing prometheus/procfs#386
* [BUGFIX] Fix nvme collector log noise
* [BUGFIX] Fix rapl collector log noise
## 1.2.0 / 2021-07-15
NOTE: Ignoring invalid network speed will be the default in 2.x
NOTE: Filesystem collector flags have been renamed. `--collector.filesystem.ignored-mount-points` is now `--collector.filesystem.mount-points-exclude` and `--collector.filesystem.ignored-fs-types` is now `--collector.filesystem.fs-types-exclude`. The old flags will be removed in 2.x.
* [CHANGE] Rename filesystem collector flags to match other collectors
* [CHANGE] Make node_exporter print usage to STDOUT
* [FEATURE] Add conntrack statistics metrics
* [FEATURE] Add ethtool stats collector
* [FEATURE] Add flag to ignore network speed if it is unknown
* [FEATURE] Add tapestats collector for Linux
* [FEATURE] Add nvme collector
* [ENHANCEMENT] Add ErrorLog plumbing to promhttp
* [ENHANCEMENT] Add more Infiniband counters
* [ENHANCEMENT] netclass: retrieve interface names and filter before parsing
* [ENHANCEMENT] Add time zone offset metric
* [BUGFIX] Handle errors from disabled PSI subsystem
* [BUGFIX] Fix panic when using backwards compatible flags
* [BUGFIX] Fix wrong value for OpenBSD memory buffer cache
* [BUGFIX] Only initiate collectors once
* [BUGFIX] Handle small backwards jumps in CPU idle
## 1.1.2 / 2021-03-05
* [BUGFIX] Handle errors from disabled PSI subsystem
* [BUGFIX] Sanitize strings from /sys/class/power_supply
* [BUGFIX] Silence missing netclass errors
## 1.1.1 / 2021-02-12
* [BUGFIX] Fix ineffassign issue
* [BUGFIX] Fix some noisy log lines
## 1.1.0 / 2021-02-05
NOTE: We have improved some of the flag naming conventions (PR #1743). The old names are
deprecated and will be removed in 2.0. They will continue to work for backwards
compatibility.
* [CHANGE] Improve filter flag names
* [CHANGE] Add btrfs and powersupplyclass to list of exporters enabled by default
* [FEATURE] Add fibre channel collector
* [FEATURE] Expose cpu bugs and flags as info metrics.
* [FEATURE] Add network_route collector
* [FEATURE] Add zoneinfo collector
* [ENHANCEMENT] Add more InfiniBand counters
* [ENHANCEMENT] Add flag to aggr ipvs metrics to avoid high cardinality metrics
* [ENHANCEMENT] Adding backlog/current queue length to qdisc collector
* [ENHANCEMENT] Include TCP OutRsts in netstat metrics
* [ENHANCEMENT] Add pool size to entropy collector
* [ENHANCEMENT] Remove CGO dependencies for OpenBSD amd64
* [ENHANCEMENT] bcache: add writeback_rate_debug stats
* [ENHANCEMENT] Add check state for mdadm arrays via node_md_state metric
* [ENHANCEMENT] Expose XFS inode statistics
* [ENHANCEMENT] Expose zfs zpool state
* [ENHANCEMENT] Added an ability to pass collector.supervisord.url via SUPERVISORD_URL environment variable
* [BUGFIX] filesystem_freebsd: Fix label values
* [BUGFIX] Fix various procfs parsing errors
* [BUGFIX] Handle no data from powersupplyclass
* [BUGFIX] udp_queues_linux.go: change upd to udp in two error strings
* [BUGFIX] Fix node_scrape_collector_success behaviour
* [BUGFIX] Fix NodeRAIDDegraded to not use a string rule expressions
* [BUGFIX] Fix node_md_disks state label from fail to failed
* [BUGFIX] Handle EPERM for syscall in timex collector
* [BUGFIX] bcache: fix typo in a metric name
* [BUGFIX] Fix XFS read/write stats (https://github.com/prometheus/procfs/pull/343)
This release contains refinements, improvements, and bug fixes, with highlights listed below.
Core
Upgrade Abseil to LTS 20220623.0 . (#30155)
Call: Send cancel op down the stack even when no ops are sent. (#30004)
FreeBSD system roots implementation. (#29436)
xDS: Workaround to get gRPC clients working with istio. (#29841)
Python
Set Correct Platform Tag in Wheels on Mac OS with Python 3.10. (#29857)
[Aio] Ensure Core channel closes when deallocated. (#29797)
[Aio] Fix the wait_for_termination return value. (#29795)
Ruby
Make the gem build on TruffleRuby. (#27660)
Support for prebuilt Ruby binary on x64-mingw-ucrt platform. (#29684)
[Ruby] Add ruby_abi_version to exported symbols. (#28976)
Objective-C
First developer preview of XCFramework binary distribution via Cocoapod (#28749).
This brings in significant speed up to local compile time and includes support for Apple Silicon build.
The following binary pods are made available for ObjC V1 & V2 API
gRPC-XCFramework (source pod gRPC)
gRPC-ProtoRPC-XCFramework (source pod gRPC-ProtoRPC)
The following platforms and architectures are included
ios: armv7, arm64 for device. arm64, i386, x86_64 for simulator
macos: x86_64 (Intel), arm64 (Apple Silicon)
When lintpkgsrc parses the package makefile of an Apache module, it
includes mk/apache.mk, and that file defines APACHE_PKG_PREFIX, thereby
hiding the fallback value from $default_vars.