8.7.0 - 2024-03-04
8.7 is a small release, with a few improvements and updates, mostly related to
compatibility with different versions of JupyterLab, Notebook, and Jupyter
Server.
Highlights:
- JupyterLab 4 compatibility for the lab extension
- Improved logging and deprecation messages for different versions of Jupyter Server and Notebook
New features added
- Update labextension to jupyterlab 4
- add `ControllerLauncher.connection_info_timeout` config
Enhancements made
- log launcher output at warning-level in case of nonzero exit code
- improve deprecation messaging around `ipcluster nbextension`
Bugs fixed
- Use pre-3.10 serialization code on PyPy3.10
- fallback import when using notebook and jupyter_server is unavailable
- don't propagate logs in IPython
4.2.0 - 2023-11-06
--------------------
- Update process.py to close during join only if process has completed.
- Adjust the __repr__ in ApplyResult.
- Remove python 3.7 from CI.
- Added Python 3.12 support.
- Fixed (co_positions): resolve issue caused by absence co_positions
- Fixed: Replaced mktemp usage for Python 3 from python 2.
- Changed nose test to pytest
- Changed nose dependency for unit test
4.1.0 - 2022-12-14
--------------------
- Fixed a python 2 to 3 compat issue which was missed earlier
- Adde Python 3.11 primary support
4.0.2 - 2022-08-03
--------------------
- ExceptionWithTraceback should be an exception.
4.0.1 - 2022-08-01
--------------------
- Add support for Python 3.11 _posixsubprocess.fork_exec() arguments.
- Keep exception traceback somehow
4.0.0 - 2022-04-24
--------------------
- Support Sphinx 4.x.
- Remove dependency to case.
- Drop support of Python < 3.7.
- Update to psutil 5.9.0.
- Add python_requires to enforce Python version.
- Replace deprecated threading Event.isSet with Event.is_set.
- Prevent segmentation fault in get_pdeathsig while using ctypes
- Migrated CI to Github actions.
- Python 3.10 support added.
This follows the recommended bootstrap method (flit_core, build, installer).
However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
# CHANGES (since version 20210722)
20230822
New in this release:
* Bug fixes and man page updates.
20230722
New in this release:
* Time functions (e.g. yyyymmdd($secs) ) can now take secs since epoch as argument.
* Bug fixes and man page updates.
20230622
New in this release:
* Bug fixes and man page updates.
20230522
New in this release:
* Bug fixes and man page updates.
20230422
New in this release:
* --jobs evaluates expression: +3*log(55)% = ncpu*1.12
* Bug fixes and man page updates.
20230322
New in this release:
* Better support for wide characters in --latest-line.
* Support for rsync 3.2.7.
* Bug fixes and man page updates.
20230222
New in this release:
* parsort: --parallel now does closer to what you expect.
* parallel: --files0 is --files but \0 separated.
* Bug fixes and man page updates.
20230122
New in this release:
* Bug fixes and man page updates.
20221222
New in this release:
* --results works on more file systems (e.g. fat)
* Joblog gives the same exit code as bash.
20221122
New in this release:
* Support for IPv6 adresses and _ in hostnames in --sshlogin.
* Use --total-jobs for --eta/--bar if generating jobs is slow.
* A lot of bugs fixed in --latest-line.
* Better support for MSYS2.
* Better Text::CSV error messages.
* --bar supports UTF8.
* Bug fixes and man page updates.
20221022
New in this release:
* --latest-line chops line length at terminal width.
* Determine max command length faster on Microsoft Windows.
20220922
New in this release:
* --colour-failed only changes output for failing jobs.
* Password for --sshlogin can be put in $SSHPASS.
* Examples are moved from `man parallel` to `man parallel_examples`.
* Bug fixes and man page updates.
20220822
New in this release:
* --header 0 allows using {filename} as replacement string
* Bug fixes and man page updates.
20220722
New in this release:
* --colour-failed will color output red if the job fails.
* sql: support for InfluxDB.
* Polarhome.com is dead, so these OSs are no longer supported: AIX
HPUX IRIX Minix OPENSTEP OpenIndiana OpenServer QNX Solaris Syllable
Tru64 Ultrix UnixWare.
* Bug fixes and man page updates.
20220622
New in this release:
* , can be used in --sshlogin if quoted as \, or ,,
* --plus {/#regexp/str} replace ^regexp with str.
* --plus {/%regexp/str} replace regexp$ with str.
* --plus {//regexp/str} replace every regexp with str.
* 'make install' installs bash+zsh completion files.
* Bug fixes and man page updates.
20220522
New in this release:
* --latest-line shows only the latest line of running jobs.
* --color colors output in different colors per job (this obsoletes --ctag).
* xargs compatibility: --process-slot-var foo sets $foo to jobslot-1.
* xargs compatibility: --open-tty opens the terminal on stdin (standard input).
* Bug fixes and man page updates.
20220422
New in this release:
* sash is no longer supported as shell.
* --retries 0 is an alias for --retries 2147483647.
* --shell-completion returns shell completion code.
* --ssh-login-file reloads every second.
* --parset is replaced with --_parset because it is only used internally.
* sem --pipe passes STDIN (standard input) to the command.
* Bug fixes and man page updates.
20220322
New in this release:
* --sshlogin user:password@host is now supported by using sshpass.
* Bug fixes and man page updates.
20220222
New in this release:
* Encoding of remote commands has changed. This limits the length of
remote commands to less than half. It also requires $REMOTE_TMPDIR
to be writable. It makes this release beta quality.
* Time functions hh_mm_ss() hhmmss() hh_mm() hhmm() are now available
for {= =}.
* Many options in the man page for parallel now has 'see also' for
related options.
* parallel_options_map.pdf is a map showing which options other
options relate to.
* {uniq} added to --plus to only run jobs with unique values.
* sem --fg exits with the exit code of the job.
* Bug fixes and man page updates.
20220122
New in this release:
* GNU Parallel turned 20 on the 2022-01-06
https://www.gnu.org/software/parallel/20th-birthday.html
* Bug fixes and man page updates.
20211222
New in this release:
* Bug fixes and man page updates.
20211122
New in this release:
* Bug fixes and man page updates.
20211022
New in this release:
* Don't postpone output until $jobslots jobs have been started.
* Bug fixes and man page updates.
20210922
New in this release:
* Bug fixes and man page updates.
20210822
New in this release:
* --ctag/--ctagstring colors the tag in different colors for each job.
* You can use unit prefixes (k, m, g, etc) with -n -N -L.
* Bug fixes and man page updates.
Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).
No change to BUILD_DEPENDS as used correctly inside buildlink3.
As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
Python helpers to limit the number of threads used in the threadpool-backed of
common native libraries used for scientific computing and data science (e.g.
BLAS and OpenMP).
8.6.1
Bugs fixed
- avoid errors when engine id cannot be identified
- Disable variable expansion in %px
- fix wait_interactive(return_when=FIRST_EXCEPTION) when there are no errors
8.6.0
A tiny release fixing issues seen building notebooks with jupyter-book.
- Fix KeyError on parent_header when streaming output with %%px
- Allow disabling streaming/progress defaults with IPP_NONINTERACTIVE=1 environment variable (e.g. when building notebooks in documentation)
8.5.1
A tiny bugfix release
- Fix error preventing creation of new profiles via the lab extension
8.5.0
A small bugfix and compatibility release.
- Updates dependencies in jupyterlab extension to jupyterlab 3.6
- fix ResourceWarnings about closed clusters
- Avoid some deprecated APIs in jupyter-client and pyzmq
LLVM 15.0.7 is now available. This release is a bug-fix release and is API and ABI compatible with 15.0.0. If there are no major issues found with this release, then it will be the last 15.0.x release.
LLVM 15.0.5 is now available. This release is a bug-fix release and is API and ABI compatible with 15.0.0. If there are no major issues found with this release, then it will be the last 15.0.x release.
LLVM 15.0.4
Changes to the LLVM IR
LLVM now uses opaque pointers. This means that different pointer types like i8*, i32* or void()** are now represented as a single ptr type. See the linked document for migration instructions.
Renamed llvm.experimental.vector.extract intrinsic to llvm.vector.extract.
Renamed llvm.experimental.vector.insert intrinsic to llvm.vector.insert.
The constant expression variants of the following instructions have been removed:
extractvalue
insertvalue
udiv
sdiv
urem
srem
fadd
fsub
fmul
fdiv
frem
Added the support for fmax and fmin in atomicrmw instruction. The comparison is expected to match the behavior of llvm.maxnum.* and llvm.minnum.* respectively.
callbr instructions no longer use blockaddress arguments for labels. Instead, label constraints starting with ! refer directly to entries in the callbr indirect destination list.
Changes to building LLVM
Omitting CMAKE_BUILD_TYPE when using a single configuration generator is now an error. You now have to pass -DCMAKE_BUILD_TYPE=<type> in order to configure LLVM. This is done to help new users of LLVM select the correct type: since building LLVM in Debug mode is very resource intensive, we want to make sure that new users make the choice that lines up with their usage. We have also improved documentation around this setting that should help new users. You can find this documentation here.
Changes to Loop Optimizations
Loop interchange legality and cost model improvements
Changes to the AMDGPU Backend
8 and 16-bit atomic loads and stores are now supported
Changes to the ARM Backend
Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures.
Added support for the Armv8.1-M PACBTI-M extension.
Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures.
Added support for the Armv8.1-M PACBTI-M extension.
Removed the deprecation of ARMv8-A T32 Complex IT blocks. No deprecation warnings will be generated and -mrestrict-it is now always off by default. Previously it was on by default for Armv8 and off for all other architecture versions.
Added a pass to workaround Cortex-A57 Erratum 1742098 and Cortex-A72 Erratum 1655431. This is enabled by default when targeting either CPU.
Implemented generation of Windows SEH unwind information.
Switched the MinGW target to use SEH instead of DWARF for unwind information.
Added support for the Cortex-M85 CPU.
Added support for a new -mframe-chain=(none|aapcs|aapcs+leaf) command-line option, which controls the generation of AAPCS-compliant Frame Records.
Changes to the DirectX Backend
DirectX has been added as an experimental target. Specify -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectX in your CMake configuration to enable it. The target is not packaged in pre-built binaries.
The DirectX backend supports the dxil architecture which is based on LLVM 3.6 IR encoded as bitcode and is the format used for DirectX GPU Shader programs.
Changes to the PowerPC Backend
Common PowerPC improvements: * Add a new post instruction selection pass to generate CTR loops. * Add SSE4 and BMI compatible intrinsics implementation. * Supported 16-byte lock free atomics on PowerPC8 and up. * Supported atomic load/store for pointer types. * Supported stack size larger than 2G * Add __builtin_min/__builtin_max/__abs builtins. * Code generation improvements for splat load/vector shuffle/mulli, etc. * Emit VSX instructions for vector loads and stores regardless of alignment. * The mcpu=future has its own ISA now (FutureISA). * Added the ppc-set-dscr option to set the Data Stream Control Register (DSCR). * Bug fixes.
AIX improvements: * Supported 64 bit XCOFF for integrated-as path. * Supported X86-compatible vector intrinsics. * Program code csect default alignment now is 32-byte. * Supported auxiliary header in integrated-as path. * Improved alias symbol handling.
Changes to the RISC-V Backend
A RISCVRedundantCopyElimination pass was added to remove unnecessary zero copies.
A RISC-V specific CodeGenPrepare pass was added.
The machine outliner was enabled by default for RISC-V at -Oz. Additionally, the newly introduced RISCVMakeCompressible pass will make modify instructions prior to emission at -Oz in order to increase opportunities for the compression with the RISC-V C extension.
Various bug fixes and improvements to code generation for the RISC-V vector extensions.
Various improvements were made to RISC-V specific optimisation passes such as RISCVSExtWRemoval and RISCVMergeBaseOffset.
llc now computes the target ABI based on the target architecture using the same logic as Clang if not explicit ABI is given.
generic is now recognized as a valid CPU name and is mapped to generic-rv32 or generic-rv64 depending on the target triple.
Support for the experimental Zvfh extension was added, enabling half-precision floating point in vectors.
Support for the Zihintpause (Pause Hint) extension.
Assembler and disassembler support for the Zfinx and Zdinx (float / double in integer register) extensions.
Assembler and disassembler support for the Zicbom, Zicboz, and Zicbop cache management operation extensions.
Support for the Zmmul extension (a subextension of the M extension, adding multiplication instructions only).
Assembler and disassembler support for the hypervisor extension and for the Sinval supervisor memory-management extension.
Changes to the X86 Backend
Support half type on SSE2 and above targets following X86 psABI.
Support rdpru instruction on Zen2 and above targets.
During this release, half type has an ABI breaking change to provide the support for the ABI of _Float16 type on SSE2 and above following X86 psABI. (D107082)
The change may affect the current use of half includes (but is not limited to):
Frontends generating half type in function passing and/or returning arguments.
Downstream runtimes providing any half conversion builtins assuming the old ABI.
Projects built with LLVM 15.0 but using early versions of compiler-rt.
When you find failures with half type, check the calling conversion of the code and switch it to the new ABI.
Changes to the LLVM tools
(Experimental) llvm-symbolizer now has --filter-markup to filter Symbolizer Markup into human-readable form.
llvm-objcopy has removed support for the legacy zlib-gnu format.
llvm-objcopy now allows --set-section-flags src=... --rename-section src=tst. --add-section=.foo1=... --rename-section=.foo1=.foo2 now adds .foo1 instead of .foo2.
New features supported on AIX for llvm-ar:
AIX big-format archive write operation (D123949)
A new object mode option, -X , to specify the type of object file llvm-ar should operate upon (D127864)
Read global symbols of AIX big archive (D124865)
New options supported for llvm-nm:
-X, to specify the type of object file that llvm-nm should examine (D118193)
--export-symbols, to create a list of symbols to export (D112735)
The LLVM gold plugin now ignores bitcode from the .llvmbc section of ELF files when doing LTO. https://github.com/llvm/llvm-project/issues/47216
llvm-objcopy now supports 32 bit XCOFF.
llvm-objdump: improved assembly printing for XCOFF.
llc now parses code-model attribute from input file.
Changes to LLDB
The “memory region” command now has a “–all” option to list all memory regions (including unmapped ranges). This is the equivalent of using address 0 then repeating the command until all regions have been listed.
Added “–show-tags” option to the “memory find” command. This is off by default. When enabled, if the target value is found in tagged memory, the tags for that memory will be shown inline with the memory contents.
Various memory related parts of LLDB have been updated to handle non-address bits (such as AArch64 pointer signatures):
“memory read”, “memory write” and “memory find” can now be used with addresses with non-address bits.
All the read and write memory methods on SBProccess and SBTarget can be used with addreses with non-address bits.
When printing a pointer expression, LLDB can now dereference the result even if it has non-address bits.
The memory cache now ignores non-address bits when looking up memory locations. This prevents us reading locations multiple times, or not writing out new values if the addresses have different non-address bits.
LLDB now supports reading memory tags from AArch64 Linux core files.
LLDB now supports the gnu debuglink section for reading debug information from a separate file on Windows
LLDB now allows selecting the C++ ABI to use on Windows (between Itanium, used for MingW, and MSVC) via the plugin.object-file.pe-coff.abi setting. In Windows builds of LLDB, this defaults to the style used for LLVM’s default target.
Other Changes
The code for the LLVM Visual Studio integration has been removed. This had been obsolete and abandoned since Visual Studio started including an integration by default in 2019.
Added the unwinder, personality, and helper functions for exception handling on AIX. (D100132) (D100504)
PGO on AIX: A new implementation that requires linker support (__start_SECTION/__stop_SECTION symbols) available on AIX 7.2 TL5 SP4 and AIX 7.3 TL0 SP2.
* AI_V4MAPPED is not defined on NetBSD, so conditionalize its use.
* Force the use of pkgsrc GCC (here we require >= gcc 10) so that
<ISO_Fortran_binding.h> is made available to the C compiler.
* Sort PLIST.
The result builds and installs on amd64 and i386, but not on powerpc
due to Fortran's "real128" not being available there (CPU limitation).
This is a long overdue update with some refinements, notably
default-on f90 option.
We skipped some major releases, so please excuse me not including
the whole changelog. See https://open-mpi.org for more information.