0.29.28 (2022-02-17)
====================
Bugs fixed
----------
* Due to backwards incompatible changes in CPython 3.11a4, the feature flags
``CYTHON_FAST_THREAD_STATE`` and ``CYTHON_USE_EXC_INFO_STACK`` are now disabled
in Python 3.11 and later. They are enabled again in Cython 3.0.
Patch by David Woods.
* A C compiler warning in older PyPy versions was resolved.
Patch by Matti Picus.
- **NEW** Allow keeping manual commits while squashing all wip commits
by finishing a mob-session with `mob done --squash-wip`.
- Removed experimental command `mob squash-wip` in favor of new `mob
done --squash-wip`.
- Added missing configuration option `MOB_WIP_BRANCH_PREFIX` for
`.mob` file.
Release 0.23.0
Syntax support
- Implement structural pattern matching (PEP634)
- Improve the heuristic for joining lines when extracting one line
expression
Bug fixes
- Preserve newline format when writing files
- Fix extract info collection for list comprehension with multiple targets
Documentation
- Fix typo
- Add Vinix to the list of supported unix systems
- Add support for SerenityOS
- Add --etcdir as an alias for --sysconfdir
- Use c++ instead of g++ for defaults in CXX
- Add EXEC! keyword. Like EXEC, but with explicit requirement
- Aim to fix the mkdir when no vpath in use
- Add USE_PKGCONFIG directive with support for BSD's pkgconf
- Support pkgconf as an alternative to pkg-config
- Add -qV in the help message
- env_c should not describe CPPFLAGS,
env_cpp already explains them in more detail.
0.14.5 (February 21, 2022):
- fix faulty version in 0.14.4
0.14.4 (February 21, 2022):
- Several test fixes to fix patchelf test suite on openbsd
- Allow multiple modifications in same call
- Add support to build with musl
- Fix typo: s/folllow/follow/
- mips: fix incorrect polarity on dyn_offset
Shelly provides a single module for convenient systems programming in
Haskell.
* Shelly is aimed at convenience and getting things done rather than being
a demonstration of elegance.
* It has detailed and useful error messages.
* It maintains its own environment, making it thread-safe.
* It has low memory usage: It has
* run_ and other underscore variants that do not return stdout,
* runFoldLines to run a fold operation over each line rather than loading
all of stdout into memory,
* runHandle and runHandles for complete control over handles.
The focus of this library on convenience combined with good error messages
should make shelly approachable for newer users of Haskell.
The purpose of this module is to allow you to capture all exceptions
originating from within the enclosed computation, while still reacting to
asynchronous exceptions aimed at the calling thread.
This way, you can be sure that the function that calls, for example,
catchAny, will still respond to ThreadKilled or Timeout events raised by
another thread (with throwTo), while capturing all exceptions, synchronous
or asynchronous, resulting from the execution of the enclosed computation.
One particular use case is to allow the safe execution of code from various
libraries (which you do not control), capturing any faults that might
occur, while remaining responsive to higher level events and control
actions.
This library provides a wrapper to the Linux Kernel's inotify feature,
allowing applications to subscribe to notifications when a file is accessed
or modified.
- Remove extraneous breakpoints
- Rewrite the search to use a saner, multi-stage
process. Still uses abs_path to avoid duplicates
working up the stack due to multi-level symlinks,
skips things earlier in the process & is a bit
easier to read.
- noignore is handled properly, as is ignore=
- taint extraction on $Bin uses m{^ (.+) /? }x
to strip the trailing '/' in some RHEL versions
of catpath.
- "redo-ifchange"’s "-f" option forces each target rebuilding.
Comparing to "redo", it will parallelize the process.
- Inode’s number is also stored as dependency information, just to
prevent possible "ctime" collision of two files.
- Performance optimization: do not use target’s temporary output file
at all, if its hash equals to already existing target’s one. Just
touch existing target file instead.
Changes for version 2.18 (2022-02-23)
* Added support for [./ssl-server.md|SSL/TLS server mode] for commands
like "[/help?cmd=server|fossil server]" and "[/help?cmd=http|fossil http]"
* The new [/help?cmd=cherry-pick|cherry-pick command] is an alias for
[/help?cmd=merge|merge --cherrypick].
* Add new setting "[/help?cmd=large-file-size|large-file-size]". If the size
of any file in a commit exceeds this size, a warning is issued.
* Query parameter "year=YYYY" is now accepted by [/help?cmd=/timeline|/timeline].
* The [/help?cmd=tar|tar] and [/help?cmd=zip|zip commands] no longer
sterilize the manifest file.
* Futher improvement to diff alignment in cases that involve both
edits and indentation changes.
* [/doc/trunk/www/chat.md|Chat] improvements:<ul>
<li> [/help?cmd=/chat|The /chat page] input options have been reworked
again for better cross-browser portability.
<li> When sending a [/help?cmd=/chat|/chat] message fails, it is no longer
immediately lost and sending may optionally be retried.
<li> [/help?cmd=/chat|/chat] can now optionally embed attachments of certain
types directly into message bodies via an iframe.
<li> Add the "--as FILENAME" option to the "[/help?cmd=chat|fossil chat send]"
command.
<li> Added the "[/help?cmd=chat|fossil chat pull]" command, available to
administrators only, for backing up the chat conversation.
</ul>
* Promote the test-detach command into the [/help?cmd=detach|detach command].
* For "[/help?cmd=pull|fossil pull]" with the --from-parent-project option,
if no URL is specified then use the last URL from the most recent prior
"fossil pull --from-parent-project".
* Add options --project-name and --project-desc to the
"[/help?cmd=init|fossil init]" command.
* The [/help?cmd=/ext|/ext page] generates the SERVER_SOFTWARE environment
variable for clients.
* Fix the REQUEST_URI [/doc/trunk/www/aboutcgi.wiki#cgivar|CGI variable] such
that it includes the query string. This is how most other systems understand
REQUEST_URI.
* Added the --transport-command option to [/help?cmd=sync|fossil sync]
and similar.
This minimalistic library helps you navigate the world of text encodings
avoiding invalid argument (invalid byte sequence) and invalid argument
(invalid character) in runtime.
A library for parsing and comparing software version numbers. We like to
give version numbers to our software in a myriad of ways. Some ways follow
strict guidelines for incrementing and comparison. Some follow conventional
wisdom and are generally self-consistent. Some are just plain asinine. This
library provides a means of parsing and comparing any style of versioning,
be it a nice Semantic Version like this:
1.2.3-r1+git123
...or a monstrosity like this:
2:10.2+0.0093r3+1-1
Please switch to Semantic Versioning if you aren't currently using it. It
provides consistency in version incrementing and has the best constraints
on comparisons.
This library implements version 2.0.0 of the SemVer spec.
turtle is a reimplementation of the Unix command line environment in
Haskell so that you can use Haskell as both a shell and a scripting
language.
Features include:
* Batteries included: Command an extended suite of predefined utilities
* Interoperability: You can still run external shell commands
* Portability: Works on Windows, OS X, and Linux
* Exception safety: Safely acquire and release resources
* Streaming: Transform or fold command output in constant space
* Patterns: Use typed regular expressions that can parse structured values
* Formatting: Type-safe printf-style text formatting
* Modern: Supports text and system-filepath
In Haskell you very often acquire values using the with... idiom using
functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
special case of the ContT monad (from transformers) or the Codensity monad
(from kan-extensions). The main purpose behind this package is to provide a
restricted form of these monads specialized to this unusually common case.
The reason this package defines a specialized version of these types is to:
* be more beginner-friendly,
* simplify inferred types and error messages, and:
* provide some additional type class instances that would otherwise be
orphan instances
Provides parsing of semvers and range indicators, as well as logic such as
version ordering and determining whether a given version falls in a given
range.
A better Prelude. Haskell's Prelude needs to maintain backwards
compatibility and has many aspects that no longer represents best
practice. The goals of classy-prelude are:
* remove all partial functions
* modernize data structures
* generally use Text instead of String
* encourage the use of appropriate data structures such as Vectors or
HashMaps instead of always using lists and associated lists
* reduce import lists and the need for qualified imports
classy-prelude should only be used by application developers. Library
authors should consider using mono-traversable, which classy-prelude builds
upon.
Send textual messages to a Handle in a thread-friendly way.
The motivation for this package is described in a blog post on Haskell's
Missing Concurrency Basics
(http://www.snoyman.com/blog/2016/11/haskells-missing-concurrency-basics). The
simple explanation is, when writing a line of textual data to a Handle -
such as sending some messages t o ther terminal - we'd like to have the
following properties:
* Properly handle character encoding settings on the Handle
* For reasonably sized messages, ensure that the entire message is written
in one chunk to avoid interleaving data with other threads
* This includes the trailing newline character
* Avoid unnecessary memory allocations and copies
* Minimize locking
* Provide a simple API