Version 21.1.0 (Current)
Notable Changes
Automatically detect and run ESM syntax
The new flag --experimental-detect-module can be used to automatically run ES modules when their syntax can be detected. For “ambiguous” files, which are .js or extensionless files with no package.json with a type field, Node.js will parse the file to detect ES module syntax; if found, it will run the file as an ES module, otherwise it will run the file as a CommonJS module. The same applies to string input via --eval or STDIN.
We hope to make detection enabled by default in a future version of Node.js. Detection increases startup time, so we encourage everyone — especially package authors — to add a type field to package.json, even for the default "type": "commonjs". The presence of a type field, or explicit extensions such as .mjs or .cjs, will opt out of detection.
vm: fix V8 compilation cache support for vm.Script
Previously repeated compilation of the same source code using vm.Script stopped hitting the V8 compilation cache after v16.x when support for importModuleDynamically was added to vm.Script, resulting in a performance regression that blocked users (in particular Jest users) from upgrading from v16.x.
The recent fixes landed in v21.1.0 allow the compilation cache to be hit again for vm.Script when --experimental-vm-modules is not used even in the presence of the importModuleDynamically option, so that users affected by the performance regression can now upgrade. Ongoing work is also being done to enable compilation cache support for vm.CompileFunction.
Version 20.9.0 'Iron' (LTS)
Notable Changes
This release marks the transition of Node.js 20.x into Long Term Support (LTS) with the codename 'Iron'. The 20.x release line now moves into "Active LTS" and will remain so until October 2024. After that time, it will move into "Maintenance" until end of life in April 2026.
Known issue
Collecting code coverage via the NODE_V8_COVERAGE environment variable may lead to a hang. This is not thought to be a regression in Node.js 20 (some reports are on Node.js 18). For more information, including some potential workarounds.
1.1.2
Documentation
Correct doc comment for PositionCodec.client_num_units
Miscellaneous Tasks
Update CHANGELOG.md
Update CONTRIBUTORS.md
Split protocol.py into own folder/files
Build
Bump urllib3 from 2.0.6 to 2.0.7
Allow installation with typeguard 4.x
Any php package built since gdt's change on Oct 21st and now will be broken and
must be rebuilt, as well as replacing the installed configuration files, to
avoid syntax errors in installed php ini files.
ResolvesTritonDataCenter/pkgsrc#367.
1.42.0
* Supports standard version 23.0.0
- BREAKING CHANGE TO THE API AND LANGUAGE: Language support for Bytes
literals
* This is a breaking change to the API due to adding new Bytes and
BytesLiteral constructors to the Expr type
* This is a breaking change to the language now that Bytes is a
reserved identifier
- BREAKING CHANGE TO THE API AND LANGUAGE: New {Date,Time,TimeZone}/show
builtins
* This is a breaking change to the API due to adding new
{Date,Time,TimeZone}Show constructors to the Expr type
* This is a breaking change to the language now that
{Date,Time,TimeZone}/show are not reserved identifiers
* BREAKING CHANGE: dhall lint no longer sorts let bindings
- This had to be removed because the old behavior was not always correct
- The old behavior would sometimes change the behavior of a Dhall program
or break the program
- Out of an abundance of caution we're disabling the feature until it can
be properly fixed (which is't trivial)
* BUG FIX: Fix pretty-printing of Time literals
- The pretty-printer was stripping leading zeros from the fractional
component of seconds
* BUG FIX: Fix custom normalizers to work for things other than functions
- Before this change you could extend the language with custom functions,
but not custom values (e.g. foo = 1)
* BUG FIX: Don't URL encode path components
- The pretty-printer was URL-encoding path components, which is not
correct (according to the standard)
- URL path components are supposed to be already URL-encoded by the user
and left undisturbed by the interpreter (which is now what it correctly
does)
* New dhall package command: #2478, #2508
- This command makes it easier to turn a directory full of Dhall
expressions into a dhall package (e.g. package.dhall)
* Improved dhall to-directory-tree subcommand
- The dhall to-directory-tree subcommand now optionally supports
specifying metadata for generated paths
- For a worked example, see:
https://github.com/dhall-lang/dhall-haskell/blob/main/dhall/examples/to-directory-tree.dhall
* dhall freeze --cache --all is now idempotent: #2486, #2500
- Before this change a second run would fail due to attempting to resolve
the missing import it would generate
* New Template Haskell options for adding strictness annotations to
generated Haskell types
* Template Haskell can now generate higher-kinded Haskell types from
higher-kinded Dhall types
* New Dhall.Freeze utilities for working with custom evaluators
* Add Data instances for Import and various other types
* Add Eq instances for InvalidDecoder and ExtractError
hslua-packaging-2.3.0 - Released 2023-03-13.
* Type initializers as part of Module records. This allows to associate
types with a module. For performance reasons, the types are not
initialized when the module is pushed, but only on first use. However,
the documentation Lua object for each module now has an additional field
types. The new field contains a function that returns the names of all
associated types. Calling the function will also initialize these types,
thereby making the respective metatables available in the registry.
* Field records now have an additional fieldType entry. [API change]
* The pushUD function is now specialized to documented types.
* Export initType. The function ensures that the metatable of a type has
been fully initialized. This can be helpful when the default method of
lazy initialization is not desired, e.g. when the type object is to be
inspected or extended.
* Re-export udDocs, udTypeSpec, allowing to generate typing info for
userdata classes.
hslua-objectorientation-2.3.0 - Released 2023-03-13.
* Export all constructors and functions of type Property.
* Renamed peekUD to peekUDGeneric and pushUD to pushUDGeneric. Functions
with the old names are now now defined hslua-packaging.
* Hook for udtype metatable initializer. The function pushUDGeneric takes
an additional hook parameter. The hook operation can be used to perform
additional setup operations, e.g., for documentation.
The old pushUD function can be recovered with
pushUD = pushUDGeneric (\_ -> pure ())
The hslua-packaging now exports a pushUD functions that is specialized to documented types.
* Export new function initTypeGeneric: The function ensures that a type's
metatable is initialized and available from the registry. Just like with
pushUDGeneric, a hook can be used to augment the initialization.
* Type info for properties: Properties are amended with information on the
property's type. The functions property, possibleProperty, and readonly
each now come with typed version property', possibleProperty', and
readonly'. This allows to specify the type of a property value.
* Functions for object typing info: The functions udDocs and udTypeSpec are
added, enabling the generation of typing information for UDType objects.
I did a verification bulk build with this change and updated all the
packages that were broken by this (kubo, ipget, caddy, etc.), so I hope
that this does not introduce any breakage.
hslua-cli-1.4.1 - Released 2023-03-18.
* Always start the REPL if the -i parameter is given on the command
line. This fixes a bug where the REPL would not start if -v, -e or -l
where given.
hslua-cli-1.4.0.1 - Released 2023-03-17.
* Fix building on Windows.
hslua-cli-1.4.0 - Released 2023-03-16.
* Isocline-based REPL: interactive mode is now supported with the help of a
new repl built with the isocline library.
hslua-cli-1.3.0 - Released 2023-03-13.
* Require hslua-core 2.3.
hslua-list-1.1.1 - Released 2023-03-17.
* Conversion to strings: added a __tostring that lists all elements
separated by commas and a space, surrounded by braces and prefixed with
the metatable's name.
hslua-marshalling-2.3.0 - Released 2023-03-13.
* Result is now an instance of MonadFail.
* New peeker and pusher functions for NonEmpty.
* Peeker combinators for optional values: The new combinators peekNilOr,
peekNoneOr, and peekNoneOrNil can be used to retrieve optional values.
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.
hslua-core-2.3.1 - Released 2023-03-17.
* New module HsLua.Core.Debug: the module provides bindings to a subset of
functions of the Lua debug interface. Currently the module only exports
getupvalue and setupvalue, both of which are also re-exported from
HsLua.Core.
hslua-core-2.3.0 - Released 2023-03-13.
* The functions loadfile, dofile, and dofileTrace now expect the argument
to be of type Maybe FilePath. The functions load from stdin when the
argument is Nothing.
* Added setwarnf' for simple warning messgae handling: The built-in method
of setting a warn function is flexible but not straight-forward to
use. The new setwarnf' function allows to set a Haskell action as a
warning hook: the default warning behavior is kept in place, but, in
addition to the default action, the hook is called on the concatenated
warning messages. This can be used to plug Lua warnings into an
application specific Haskell reporting system.
* Export GCManagedState, newGCManagedState, closeGCManagedState, and
withGCManagedState from HsLua.Core.
pytest-mypy-testing provides a pytest plugin to test that mypy produces a given
output. As mypy can be told to display the type of an expression this allows us
to check mypys type interference.
This file is intended to collect rules to build the basic packages
that are needed to build other packages.
As of now, the ones recommended by the Python community seem to be
flit_core -> installer -> build
Packaged in wip by he@ and adam@ with minor adjustments from myself.
v1.72.1
Changes
- Adjust codegen change to improve LLVM codegen
- rustdoc: Fix self ty params in objects with lifetimes
- Fix regression in compile times
- Resolve some ICE regressions in the compiler:
- #115215
- #115559
v1.72.0
Language
- Replace const eval limit by a lint and add an exponential backoff warning
- expand: Change how #![cfg(FALSE)] behaves on crate root
- Stabilize inline asm for LoongArch64
- Uplift clippy::undropped_manually_drops lint
- Uplift clippy::invalid_utf8_in_unchecked lint as invalid_from_utf8_unchecked
and invalid_from_utf8
- Uplift clippy::cast_ref_to_mut lint as invalid_reference_casting
- Uplift clippy::cmp_nan lint as invalid_nan_comparisons
- resolve: Remove artificial import ambiguity errors
- Don’t require associated types with Self: Sized bounds in dyn Trait objects
Compiler
- Remember names of cfg-ed out items to mention them in diagnostics
- Support for native WASM exceptions
- Add support for NetBSD/aarch64-be (big-endian arm64).
- Write to stdout if - is given as output file
- Force all native libraries to be statically linked when linking a static
binary
- Add Tier 3 support for loongarch64-unknown-none*
- Prevent .eh_frame from being emitted for -C panic=abort
- Support 128-bit enum variant in debuginfo codegen
- compiler: update solaris/illumos to enable tsan support.
Refer to Rust’s platform support page, platform-support-doc for more
information on Rust’s tiered platform support.
Libraries
- Document memory orderings of thread::{park, unpark}
- io: soften ‘at most one write attempt’ requirement in io::Write::write
- Specify behavior of HashSet::insert
- Relax implicit T: Sized bounds on BufReader<T>, BufWriter<T> and LineWriter<T>
- Update runtime guarantee for select_nth_unstable
- Return Ok on kill if process has already exited
- Implement PartialOrd for Vecs over different allocators
- Use 128 bits for TypeId hash
- Don’t drain-on-drop in DrainFilter impls of various collections.
- Make {Arc,Rc,Weak}::ptr_eq ignore pointer metadata
Rustdoc
- Allow whitespace as path separator like double colon
- Add search result item types after their name
- Search for slices and arrays by type with []
- Clean up type unification and “unboxing”
Stabilized APIs
impl<T: Send> Sync for mpsc::Sender<T>
impl TryFrom<&OsStr> for &str
String::leak
These APIs are now stable in const contexts:
CStr::from_bytes_with_nul
CStr::to_bytes
CStr::to_bytes_with_nul
CStr::to_str
Cargo
- Enable -Zdoctest-in-workspace by default. When running each documentation
test, the working directory is set to the root directory of the package the
test belongs to. docs #12221#12288
- Add support of the “default” keyword to reset previously set build.jobs
parallelism back to the default. #12222
Compatibility Notes
- Alter Display for Ipv6Addr for IPv4-compatible addresses
- Cargo changed feature name validation check to a hard error. The warning was
added in Rust 1.49. These extended characters aren’t allowed on crates.io,
so this should only impact users of other registries, or people who don’t
publish to a registry. #12291
- Demoted mips*-unknown-linux-gnu* targets from host tier 2 to target tier 3 support.
lua-2.3.1 - Released 2023-03-17.
* New module Lua.Debug: the module provides bindings to a subset of
functions of the Lua debug interface. Currently the module only binds
lua_getupvalue and lua_setupvalue.
lua-2.3.0 - Released 2023-03-13.
* New function hslua_setwarnf: The function allows to set a C function as a
hook that is called on all complete warning messages. It is intended as a
simple way to set a custom warning function.
* Export version and copyright info from Lua.Constants: the following
patterns are made available, with content identical to that of the
respective C functions: LUA_VERSION, LUA_RELEASE, and LUA_COPYRIGHT.
* Added a new flag cross-compile. When enabled, the code is setup in a way
that allows cross-compilation of the package, but some of the string
constants will be hard-coded and may not match the Lua version against
which the library is compiled.
* Type is now an instance of Read.
v1.15.7
1. Enhancements
Elixir
[Elixir] Allow code evaluation across Elixir versions
2. Bug fixes
EEx
[EEx] Do not emit duplicate warnings from tokenizer
Mix
[mix format] Correctly match file to subdirectory in Mix.Tasks.Format.formatter_for_file/2
GHC: The Glasgow Haskell Compiler.
The Glasgow Haskell Compiler is a robust, fully-featured, optimising
compiler for the functional programming language Haskell 98
(http://www.haskell.org). GHC compiles Haskell to either native code
or C. It implements numerous experimental language extensions to
Haskell, including concurrency, a foreign language interface, several
type-system extensions, exceptions, and so on. GHC comes with a
generational garbage collector, a space and time profiler, and a
comprehensive set of libraries.
This package provides the 9.6.x release series.
Instead of depending on one of the removed packages (that are now included
in the base Python packages), include batteries-included.mk to require
a Python version that supplies them.
Remove now included packages.
Bump PKGREVISION.
This is only:
- pointing out that example config is installed
- cautioning that if you have an odd setup, you need to pay attention.
As threatened on 16 October on tech-pkg@.
v1.1.1
chore: manual changes for v1.1.0 release
build(deps-dev): bump urllib3 from 2.0.5 to 2.0.6
explicit exports from pygls.workspace
fix: prevent AttributeError root_path when no workspace
ci: fix release process
build: v1.1.1
Version 18.18.2 'Hydrogen' (LTS)
This is a security release.
Notable Changes
The following CVEs are fixed in this release:
* CVE-2023-44487: `nghttp2` Security Release (High)
* CVE-2023-45143: `undici` Security Release (High)
* CVE-2023-38552: Integrity checks according to policies can be circumvented (Medium)
* CVE-2023-39333: Code injection via WebAssembly export names (Low)
Version 20.8.1 (Current)
This is a security release.
Notable Changes
The following CVEs are fixed in this release:
CVE-2023-44487: nghttp2 Security Release (High)
CVE-2023-45143: undici Security Release (High)
CVE-2023-39332: Path traversal through path stored in Uint8Array (High)
CVE-2023-39331: Permission model improperly protects against path traversal (High)
CVE-2023-38552: Integrity checks according to policies can be circumvented (Medium)
CVE-2023-39333: Code injection via WebAssembly export names (Low)
net/http: rapid stream resets can cause excessive work
A malicious HTTP/2 client which rapidly creates requests and
immediately resets them can cause excessive server resource consumption.
While the total number of requests is bounded to the
http2.Server.MaxConcurrentStreams setting, resetting an in-progress
request allows the attacker to create a new request while the existing
one is still executing.
HTTP/2 servers now bound the number of simultaneously executing
handler goroutines to the stream concurrency limit. New requests
arriving when at the limit (which can only happen after the client
has reset an existing, in-flight request) will be queued until a
handler exits. If the request queue grows too large, the server
will terminate the connection.
This issue is also fixed in golang.org/x/net/http2 v0.17.0,
for users manually configuring HTTP/2.
The default stream concurrency limit is 250 streams (requests)
per HTTP/2 connection. This value may be adjusted using the
golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams
setting and the ConfigureServer function.
This is CVE-2023-39325 and Go issue https://go.dev/issue/63417.
This is also tracked by CVE-2023-44487.
1.21.3
net/http: rapid stream resets can cause excessive work
A malicious HTTP/2 client which rapidly creates requests and
immediately resets them can cause excessive server resource consumption.
While the total number of requests is bounded to the
http2.Server.MaxConcurrentStreams setting, resetting an in-progress
request allows the attacker to create a new request while the existing
one is still executing.
HTTP/2 servers now bound the number of simultaneously executing
handler goroutines to the stream concurrency limit. New requests
arriving when at the limit (which can only happen after the client
has reset an existing, in-flight request) will be queued until a
handler exits. If the request queue grows too large, the server
will terminate the connection.
This issue is also fixed in golang.org/x/net/http2 v0.17.0,
for users manually configuring HTTP/2.
The default stream concurrency limit is 250 streams (requests)
per HTTP/2 connection. This value may be adjusted using the
golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams
setting and the ConfigureServer function.
This is CVE-2023-39325 and Go issue https://go.dev/issue/63417.
This is also tracked by CVE-2023-44487.
1.21.2
cmd/go: line directives allows arbitrary execution during build
"//line" directives can be used to bypass the restrictions on "//go:cgo_"
directives, allowing blocked linker and compiler flags to be passed during
compliation. This can result in unexpected execution of arbitrary code when
running "go build". The line directive requires the absolute path of the file in
which the directive lives, which makes exploting this issue significantly more
complex.
This is CVE-2023-39323 and Go issue https://go.dev/issue/63211.
Version 18.18.1 'Hydrogen' (LTS)
Notable Changes
This release addresses some regressions that appeared in Node.js 18.18.0:
* (Windows) FS can not handle certain characters in file name
* 18 and 20 node images give error - Text file busy (after re-build images)
* libuv update in 18.18.0 breaks webpack's thread-loader
Bootstrapping the compiler without "cabal-install" is something GHC devs
rarely do, and it keeps bitrotting. This time I could make it work again,
but at some point we might end up having to distribute binaries of
cabal-install for each platform.
Packaged by he@ and adam@ in wip
Merge request by gdt@
v1.71.1
- Fix CVE-2023-38497: Cargo did not respect the umask when extracting
dependencies
- Fix bash completion for users of Rustup
- Do not show suspicious_double_ref_op lint when calling borrow()
- Fix ICE: substitute types before checking inlining compatibility
- Fix ICE: don't use can_eq in derive(..) suggestion for missing method
- Fix building Rust 1.71.0 from the source tarball
v1.71.0
Language
- Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool.
- Uplift clippy::{drop,forget}_{ref,copy} lints.
- Type inference is more conservative around constrained vars.
- Use fulfillment to check Drop impl compatibility
Compiler
- Evaluate place expression in PlaceMention, making let _ = patterns more
consistent with respect to the borrow checker.
- Add --print deployment-target flag for Apple targets.
- Stabilize extern "C-unwind" and friends. The existing extern "C" etc. may
change behavior for cross-language unwinding in a future release.
- Update the version of musl used on *-linux-musl targets to 1.2.3, enabling
time64 on 32-bit systems.
- Stabilize debugger_visualizer for embedding metadata like Microsoft's Natvis.
- Enable flatten-format-args by default.
- Make Self respect tuple constructor privacy.
- Improve niche placement by trying two strategies and picking the better
result.
- Use apple-m1 as the target CPU for aarch64-apple-darwin.
- Add Tier 3 support for the x86_64h-apple-darwin target.
- Promote loongarch64-unknown-linux-gnu to Tier 2 with host tools.
Refer to Rust's platform support page for more information on Rust's tiered
platform support.
Libraries
- Rework handling of recursive panics. Additional panics are allowed while
unwinding, as long as they are caught before escaping a Drop implementation,
but panicking within a panic hook is now an immediate abort.
- Loosen From<&[T]> for Box<[T]> bound to T: Clone.
- Remove unnecessary T: Send bound in Error for mpsc::SendError<T> and
TrySendError<T>.
- Fix docs for alloc::realloc to match Layout requirements that the size must
not exceed isize::MAX.
- Document const {} syntax for std::thread_local. This syntax was stabilized
in Rust 1.59, but not previously mentioned in release notes.
Stabilized APIs
CStr::is_empty
BuildHasher::hash_one
NonZeroI*::is_positive
NonZeroI*::is_negative
NonZeroI*::checked_neg
NonZeroI*::overflowing_neg
NonZeroI*::saturating_neg
NonZeroI*::wrapping_neg
Neg for NonZeroI*
Neg for &NonZeroI*
From<[T; N]> for (T...) (array to N-tuple for N in 1..=12)
From<(T...)> for [T; N] (N-tuple to array for N in 1..=12)
windows::io::AsHandle for Box<T>
windows::io::AsHandle for Rc<T>
windows::io::AsHandle for Arc<T>
windows::io::AsSocket for Box<T>
windows::io::AsSocket for Rc<T>
windows::io::AsSocket for Arc<T>
These APIs are now stable in const contexts:
<*const T>::read
<*const T>::read_unaligned
<*mut T>::read
<*mut T>::read_unaligned
ptr::read
ptr::read_unaligned
<[T]>::split_at
Cargo
- Allow named debuginfo options in Cargo.toml.
- Add workspace_default_members to the output of cargo metadata.
- Automatically inherit workspace fields when running cargo new/cargo init.
Rustdoc
- Add a new rustdoc::unescaped_backticks lint for broken inline code.
- Support strikethrough with single tildes. (~~old~~ vs. ~new~)
Compatibility Notes
- Remove structural match from TypeId. Code that uses a constant TypeId in a
pattern will potentially be broken. Known cases have already been fixed
-- in particular, users of the log crate's kv_unstable feature should update
to log v0.4.18 or later.
- Add a sysroot crate to represent the standard library crates. This does not
affect stable users, but may require adjustment in tools that build their
own standard library.
- Cargo optimizes its usage under rustup. When Cargo detects it will run rustc
pointing to a rustup proxy, it'll try bypassing the proxy and use the
underlying binary directly. There are assumptions around the interaction
with rustup and RUSTUP_TOOLCHAIN. However, it's not expected to affect
normal users.
- When querying a package, Cargo tries only the original name, all hyphens,
and all underscores to handle misspellings. Previously, Cargo tried each
combination of hyphens and underscores, causing excessive requests to
crates.io.
- Cargo now disallows RUSTUP_HOME and RUSTUP_TOOLCHAIN in the [env]
configuration table. This is considered to be not a use case Cargo would
like to support, since it will likely cause problems or lead to confusion.
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
1.1.0 - 2023-10-05
Added
* PEP 695 support
* parser: PEP 695 - Type Parameter Syntax
* Scope provider: support for type annotations
* PEP 701 support
* parser: support arbitrarily nested f-strings
* parser: Parse multiline expressions in f-strings
* parser: Support files with mixed newlines
* [libcst](https://crates.io/crates/libcst) is now published to crates.io
Fixed
* codemod/ApplyTypeAnnotationsVisitor: Do not annotate the same variable multiple times
* parser: Don't swallow trailing whitespace
* codemod/rename: Avoid duplicating import statements when the module name doesn't change
Updated
* cli: Don't gather dirs ending .py
* drop support for Python 3.7
* A few parser performance improvements:
* Switch to using thread_local regular expressions to stop mutext contention
* Remove need for regex in TextPosition::matches
* Remove Regexes from whitespace parser
cmd/go: line directives allows arbitrary execution during build
"//line" directives can be used to bypass the restrictions on "//go:cgo_"
directives, allowing blocked linker and compiler flags to be passed during
compliation. This can result in unexpected execution of arbitrary code when
running "go build". The line directive requires the absolute path of the file in
which the directive lives, which makes exploting this issue significantly more
complex.
This is CVE-2023-39323 and Go issue https://go.dev/issue/63211.
View the release notes for more information:
https://go.dev/doc/devel/release#go1.20.9
1.1.0
Bug Fixes
Fix broken link and outdated comment
Correctly cast from UTF16 positions
Ensure server commands can be executed
Mypy lints
Error code of JsonRpcInternalError
Only show code action when there's no sum
Don't include trailing whitespace in code action title
'bool' object has no attribute 'resolve_provider'
Computation of formatting and diagnostic provider capabilities
CI
Migrate to Poetry and modernise
Linter for conventional commits
Autogenerate changelog with git-cliff
Automate CONTRIBUTORS.md
Retry Pyodide tests
Test against Python 3.12
Use matrix.python-version in cache key
Update json-extension pipeline
Pin poetry to 1.5.1
Do not install chromium/chromedriver
Enable coverage reporting
Run all lints even when some fail
Increase Pyodide CI retries to 6
Documentation
Use autodoc to document client methods
Update docstrings
Change specification for commit messages
Typo in vscode-playground README.md
Add api docs for servers, protocol and workspace
Align docstring formatting
Handle methods starting with $/
Update links and code snippets
Rename advanced usage to user guide
Instructions for using plain text files with vscode-playground
Features
Add document diagnostic capability
Add workspace symbol resolve
Add workspace diagnostic support
Adds inline value support
Adds type hierarchy request support
Add await syntax support for sending edit request to client
Allow servers to provide NotebookDocumentSyncOptions
Initial support for notebook document syncronisation
Add notebook support to example inlay_hints.py server
Accept PositionEncoding client capability
Support UTF32 ans UTF8 position encoding
Miscellaneous Tasks
Update autogenerated Pygls client
Introduce black formatting
Add .git-blame-ignore-revs file
Delete fountain-vscode-extension
Update README.md
Bump lsprotocol version
Fix deprecation warning, set chrome path
Disable body-max-line-length check
Add .readthedocs.yaml
Strict types in uris.py and workspace.py
Move workspace/doc/position into own files
Fix mypy types
Maintain Workspace backwards compat
Fix use of deprecated methods in tests/test_language_server.py
Refactor
Move example json-server to examples/servers
Rename json-vscode-extension/ -> vscode-playground
Simplify end-to-end test client fixture definition
Rename Client -> JsonRPCClient
Rename LanguageClient -> BaseLanguageClient
Rename <verb>_document to <verb>_text_document
Expose workspace via a property
Server Position class
Rename server Position to PositionCodec, instantiate it in Workspace
Reference types via types module
Make default argument mandatory, add type annotations
Testing
Test that the client provided token is used
Remove a useless sleep
Test cases of server initiated progress
Base Pyodide wheel deps off poetry.lock
Build
Bump semver in /examples/fountain-vscode-extension
Bump semver in /examples/json-vscode-extension
Bump word-wrap in /examples/json-vscode-extension
Lock min Python version to 3.7.9
Cache specific Python minor version
Bump lsprotocol to 2023.0.0b1
Release v1.1.0
Json-extension
Support cancellation in progress example
Progress
Support work done progress cancellation from client
Server
Add a type annotation to help completions in editor
Added
Add LanguageClient with LSP methods autogenerated from type annotations in lsprotocol
Add base JSON-RPC Client with support for running servers in a subprocess and communicating over stdio.
Support work done progress cancel
Add support for textDocument/inlayHint and inlayHint/resolve requests
Fixed
pygls no longer overrides the event loop for the current thread when given an explicit loop to use.
Fixed MethodTypeNotRegisteredError when registering a TEXT_DOCUMENT_DID_SAVE feature with options.
Fixed detection of LanguageServer type annotations when using string-based annotations.
v7.0.0
Features
- Refine type hint for ``singular_noun`` to indicate a literal return type for ``False``.
Deprecations and Removals
- Removed methods renamed in 0.2.0.
v6.2.0
Features
- Project now supports Pydantic 2 while retaining support for Pydantic 1.
Bugfixes
- Added validation of user-defined words and amended the type declarations to match, allowing for null values but not empty strings.
Python 3.12
New syntax features:
PEP 695, type parameter syntax and the type statement
New grammar features:
PEP 701, f-strings in the grammar
Interpreter improvements:
PEP 684, a unique per-interpreter GIL
PEP 669, low impact monitoring
Improved ‘Did you mean …’ suggestions for NameError, ImportError, and SyntaxError exceptions
Python data model improvements:
PEP 688, using the buffer protocol from Python
Significant improvements in the standard library:
The pathlib.Path class now supports subclassing
The os module received several improvements for Windows support
A command-line interface has been added to the sqlite3 module
isinstance() checks against runtime-checkable protocols enjoy a speed up of between two and 20 times
The asyncio package has had a number of performance improvements, with some benchmarks showing a 75% speed up.
A command-line interface has been added to the uuid module
Due to the changes in PEP 701, producing tokens via the tokenize module is up to up to 64% faster.
Security improvements:
Replace the builtin hashlib implementations of SHA1, SHA3, SHA2-384, SHA2-512, and MD5 with formally verified code from the HACL* project. These builtin implementations remain as fallbacks that are only used when OpenSSL does not provide them.
C API improvements:
PEP 697, unstable C API tier
PEP 683, immortal objects
CPython implementation improvements:
PEP 709, comprehension inlining
CPython support for the Linux perf profiler
Implement stack overflow protection on supported platforms
New typing features:
PEP 692, using TypedDict to annotate **kwargs
PEP 698, typing.override() decorator
Important deprecations, removals or restrictions:
PEP 623: Remove wstr from Unicode objects in Python’s C API, reducing the size of every str object by at least 8 bytes.
PEP 632: Remove the distutils package. See the migration guide for advice replacing the APIs it provided. The third-party Setuptools package continues to provide distutils, if you still require it in Python 3.12 and beyond.
gh-95299: Do not pre-install setuptools in virtual environments created with venv. This means that distutils, setuptools, pkg_resources, and easy_install will no longer available by default; to access these run pip install setuptools in the activated virtual environment.
The asynchat, asyncore, and imp modules have been removed, along with several unittest.TestCase method aliases.
Python 3.11.6 final
Core and Builtins
gh-109351: Fix crash when compiling an invalid AST involving a named (walrus) expression.
gh-109207: Fix a SystemError in __repr__ of symtable entry object.
gh-109179: Fix bug where the C traceback display drops notes from SyntaxError.
gh-88943: Improve syntax error for non-ASCII character that follows a numerical literal. It now points on the invalid non-ASCII character, not on the valid numerical literal.
gh-108959: Fix caret placement for error locations for subscript and binary operations that involve non-semantic parentheses and spaces. Patch by Pablo Galindo
gh-108520: Fix multiprocessing.synchronize.SemLock.__setstate__() to properly initialize multiprocessing.synchronize.SemLock._is_fork_ctx. This fixes a regression when passing a SemLock accross nested processes.
Rename multiprocessing.synchronize.SemLock.is_fork_ctx to multiprocessing.synchronize.SemLock._is_fork_ctx to avoid exposing it as public API.
Library
gh-110036: On Windows, multiprocessing Popen.terminate() now catchs PermissionError and get the process exit code. If the process is still running, raise again the PermissionError. Otherwise, the process terminated as expected: store its exit code. Patch by Victor Stinner.
gh-110038: Fixed an issue that caused KqueueSelector.select() to not return all the ready events in some cases when a file descriptor is registered for both read and write.
gh-109631: re functions such as re.findall(), re.split(), re.search() and re.sub() which perform short repeated matches can now be interrupted by user.
gh-109593: Avoid deadlocking on a reentrant call to the multiprocessing resource tracker. Such a reentrant call, though unlikely, can happen if a GC pass invokes the finalizer for a multiprocessing object such as SemLock.
gh-109613: Fix os.stat() and os.DirEntry.stat(): check for exceptions. Previously, on Python built in debug mode, these functions could trigger a fatal Python error (and abort the process) when a function succeeded with an exception set. Patch by Victor Stinner.
gh-109375: The pdb alias command now prevents registering aliases without arguments.
gh-107219: Fix a race condition in concurrent.futures. When a process in the process pool was terminated abruptly (while the future was running or pending), close the connection write end. If the call queue is blocked on sending bytes to a worker process, closing the connection write end interrupts the send, so the queue can be closed. Patch by Victor Stinner.
gh-50644: Attempts to pickle or create a shallow or deep copy of codecs streams now raise a TypeError. Previously, copying failed with a RecursionError, while pickling produced wrong results that eventually caused unpickling to fail with a RecursionError.
gh-108987: Fix _thread.start_new_thread() race condition. If a thread is created during Python finalization, the newly spawned thread now exits immediately instead of trying to access freed memory and lead to a crash. Patch by Victor Stinner.
gh-108843: Fix an issue in ast.unparse() when unparsing f-strings containing many quote types.
gh-108682: Enum: raise TypeError if super().__new__() is called from a custom __new__.
gh-105829: Fix concurrent.futures.ProcessPoolExecutor deadlock
gh-64662: Fix support for virtual tables in sqlite3.Connection.iterdump(). Patch by Aviv Palivoda.
gh-107913: Fix possible losses of errno and winerror values in OSError exceptions if they were cleared or modified by the cleanup code before creating the exception object.
gh-104372: On Linux where subprocess can use the vfork() syscall for faster spawning, prevent the parent process from blocking other threads by dropping the GIL while it waits for the vfork’ed child process exec() outcome. This prevents spawning a binary from a slow filesystem from blocking the rest of the application.
gh-84867: unittest.TestLoader no longer loads test cases from exact unittest.TestCase and unittest.FunctionTestCase classes.
Documentation
gh-109209: The minimum Sphinx version required for the documentation is now 4.2.
gh-105052: Update timeit doc to specify that time in seconds is just the default.
gh-102823: Document the return type of x // y when x and y have type float.
Tests
gh-110031: Skip test_threading tests using thread+fork if Python is built with Address Sanitizer (ASAN). Patch by Victor Stinner.
gh-110088: Fix test_asyncio timeouts: don’t measure the maximum duration, a test should not measure a CI performance. Only measure the minimum duration when a task has a timeout or delay. Add CLOCK_RES to test_asyncio.utils. Patch by Victor Stinner.
gh-110033: Fix test_interprocess_signal() of test_signal. Make sure that the subprocess.Popen object is deleted before the test raising an exception in a signal handler. Otherwise, Popen.__del__() can get the exception which is logged as Exception ignored in: ... and the test fails. Patch by Victor Stinner.
gh-109594: Fix test_timeout() of test_concurrent_futures.test_wait. Remove the future which may or may not complete depending if it takes longer than the timeout ot not. Keep the second future which does not complete before wait() timeout. Patch by Victor Stinner.
gh-109748: Fix test_zippath_from_non_installed_posix() of test_venv: don’t copy __pycache__/ sub-directories, because they can be modified by other Python tests running in parallel. Patch by Victor Stinner.
gh-103053: Skip test_freeze_simple_script() of test_tools.test_freeze if Python is built with ./configure --enable-optimizations, which means with Profile Guided Optimization (PGO): it just makes the test too slow. The freeze tool is tested by many other CIs with other (faster) compiler flags. Patch by Victor Stinner.
gh-109396: Fix test_socket.test_hmac_sha1() in FIPS mode. Use a longer key: FIPS mode requires at least of at least 112 bits. The previous key was only 32 bits. Patch by Victor Stinner.
gh-104736: Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb “bt” command output to detect when gdb fails to retrieve the traceback. For example, skip a test if Backtrace stopped: frame did not save the PC is found. Patch by Victor Stinner.
gh-109237: Fix test_site.test_underpth_basic() when the working directory contains at least one non-ASCII character: encode the ._pth file to UTF-8 and enable the UTF-8 Mode to use UTF-8 for the child process stdout. Patch by Victor Stinner.
gh-109230: Fix test_pyexpat.test_exception(): it can now be run from a directory different than Python source code directory. Before, the test failed in this case. Skip the test if Modules/pyexpat.c source is not available. Skip also the test on Python implementations other than CPython. Patch by Victor Stinner.
gh-109015: Fix test_asyncio, test_imaplib and test_socket tests on FreeBSD if the TCP blackhole is enabled (sysctl net.inet.tcp.blackhole). Skip the few tests which failed with ETIMEDOUT which such non standard configuration. Currently, the FreeBSD GCP image enables TCP and UDP blackhole (sysctl net.inet.tcp.blackhole=2 and sysctl net.inet.udp.blackhole=1). Patch by Victor Stinner.
gh-91960: Skip test_gdb if gdb is unable to retrieve Python frame objects: if a frame is <optimized out>. When Python is built with “clang -Og”, gdb can fail to retrive the frame parameter of _PyEval_EvalFrameDefault(). In this case, tests like py_bt() are likely to fail. Without getting access to Python frames, python-gdb.py is mostly clueless on retrieving the Python traceback. Moreover, test_gdb is no longer skipped on macOS if Python is built with Clang. Patch by Victor Stinner.
gh-108962: Skip test_tempfile.test_flags() if chflags() fails with “OSError: [Errno 45] Operation not supported” (ex: on FreeBSD 13). Patch by Victor Stinner.
gh-89392: Removed support of test_main() function in tests. They now always use normal unittest test runner.
gh-108851: Fix test_tomllib recursion tests for WASI buildbots: reduce the recursion limit and compute the maximum nested array/dict depending on the current available recursion limit. Patch by Victor Stinner.
gh-108851: Add get_recursion_available() and get_recursion_depth() functions to the test.support module. Patch by Victor Stinner.
gh-108822: regrtest now computes statistics on all tests: successes, failures and skipped. test_netrc, test_pep646_syntax and test_xml_etree now return results in their test_main() function. Patch by Victor Stinner and Alex Waygood.
gh-108388: Convert test_concurrent_futures to a package of 7 sub-tests. Patch by Victor Stinner.
gh-108388: Split test_multiprocessing_fork, test_multiprocessing_forkserver and test_multiprocessing_spawn into test packages. Each package is made of 4 sub-tests: processes, threads, manager and misc. It allows running more tests in parallel and so reduce the total test duration. Patch by Victor Stinner.
gh-101634: When running the Python test suite with -jN option, if a worker stdout cannot be decoded from the locale encoding report a failed testn so the exitcode is non-zero. Patch by Victor Stinner.
gh-100086: The Python test runner (libregrtest) now logs Python build information like “debug” vs “release” build, or LTO and PGO optimizations. Patch by Victor Stinner.
gh-98903: The Python test suite now fails wit exit code 4 if no tests ran. It should help detecting typos in test names and test methods.
gh-95027: On Windows, when the Python test suite is run with the -jN option, the ANSI code page is now used as the encoding for the stdout temporary file, rather than using UTF-8 which can lead to decoding errors. Patch by Victor Stinner.
gh-93353: regrtest now checks if a test leaks temporary files or directories if run with -jN option. Patch by Victor Stinner.
Build
gh-63760: Fix Solaris build: no longer redefine the gethostname() function. Solaris defines the function since 2005. Patch by Victor Stinner, original patch by Jakub Kulík.
gh-108740: Fix a race condition in make regen-all. The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating “global objects”. Previously, some identifiers may miss depending on the order in which these files were generated. Patch by Victor Stinner.
Windows
gh-109991: Update Windows build to use OpenSSL 3.0.11.
gh-107565: Update Windows build to use OpenSSL 3.0.10.
macOS
gh-109991: Update macOS installer to use OpenSSL 3.0.11.
Tools/Demos
gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use 1.1.1w, 3.0.11, and 3.1.3.
2.4.0
Merge pull request 116 from gristlabs/walk-include-joinedstr
Add include_joined_str parameter to util.walk
2.3.0
setup.cfg shouldn't have version
Version 20.8.0 (Current)
Notable Changes
Stream performance improvements
Performance improvements to writable and readable streams, improving the creation and destruction by ±15% and reducing the memory overhead each stream takes in Node.js
Performance improvements for readable webstream, improving readable stream async iterator consumption by ±140% and improving readable stream pipeTo consumption by ±60%
Rework of memory management in vm APIs with the importModuleDynamically option
This rework addressed a series of long-standing memory leaks and use-after-free issues in the following APIs that support importModuleDynamically:
vm.Script
vm.compileFunction
vm.SyntheticModule
vm.SourceTextModule
This should enable affected users to upgrade from older versions of Node.js.
Changes from release notes:
New Features in Qore:
New user modules:
GoogleDataProvider
GoogleRestClient
HueRestClient
ConnectionProvider module
added a logger interface to the abstract base connection class.
added a connection-defined feature list to connection info.
FileLocationHandler module
implemented support for non-blocking I/O from file handlers.
Logger module
added LoggerInterface and LoggerWrapper classes.
added the following function and methods to support base64-url
encoding of data:
make_base64_url_string()
<string>::toBase64Url()
<binary>::toBase64Url()
added the following class and new methods to support OAuth2
and non-blocking polling functionality:
FilePollOperation class
ReadOnlyFile::startPollRead()
HTTPClient::getUsername()
HTTPClient::getPassword()
added the encode_chars option to the HTTPClient class
Bug Fixes in Qore:
ConnectionProvider module
assume connections are up until they are proven to be down
fixed a bug where the InvalidConnection class would report an
invalid url hash.
RestClient module
implemented consistent support for OAuth2 authorization flows
including for OAuth2 with non-blocking I/O and non-blocking
retrieval of Swagger schemas for REST clients.
fixed a bug where polling pings did not respect connection
options or the validator.
fixed a bugs handling the signal mask that could cause
hard-to-debug problems such as deadlocks in JIT in the JVM on
macOS aarch64.
fixed a bug handling non-blocking I/O for socket connections on
Darwin / macOS.
fixed a bug where function and method variants did not report
varargs in the signature.
fixed a bug where an access exception could be raised when a
reference to a private member was used in a static class method.
fixed a bug where the stack guard was not properly enforced when
the JVM assumed enforcement responsibility; in addition, due to
the fact that thread stacks are allocated from overcommitted
memory, reducing the thread stack size to 512KB had no effect on
the memory size of Qore programs but did affect Qore, Java, and
Python programs, therefore the stack limit for all threads was
reset to 8MB as of this release.
HttpServer
allow context info to be cleared after handling each request to
ensure that context info (like thread-local data) does not leak
into other connections on the same thread.
RestClient
do not try to get another OAuth2 token if the token was just
retrieved.
fixed a bug where user variants would not always set the varargs
flags from ellipses.
fixed an extraneous SOCKET-NOT-OPEN exception when running
socket callbacks after a socket was closed.
Qt 6.5.3 release is a patch release made on the top of Qt 6.5.2.
As a patch release, Qt 6.5.3 does not add any new functionality but provides
bug fixes and other improvements and maintains both forward and backward
compatibility (source and binary) with Qt 6.5.2.
For detailed information about Qt 6.5, refer to the online documentation
included in this distribution. The documentation is also available online:
https://doc.qt.io/qt-6/index.html
DIST_SUBDIR now includes nbN, to handle a new netbsd-i386 distfile.
Adjust paths in distinfo by adding nb1, which worked for building on
nebtsd-9 amd64.
This so that the changed bits get re-fetched, and we don't try to
re-use an already-fetched binary, and get a checksum mismatch.
Follow-up on the "new i586 bits" change.
## 1.31.0 - 2023-09-17
- Report line and column when using `janet_dobytes`
- Add `:unless` loop modifier
- Allow calling `reverse` on generators.
- Improve performance of a number of core functions including `partition`, `mean`, `keys`, `values`, `pairs`, `interleave`.
- Add `lengthable?`
- Add `os/sigaction`
- Change `every?` and `any?` to behave like the functional versions of the `and` and `or` macros.
- Fix bug with garbage collecting threaded abstract types.
- Add `:signal` to the `sandbox` function to allow intercepting signals.
...and probably newer as well. Testing status on netbsd-8 is unknown
at the moment. Ref. pkgsrc-users@ discussion; the old binaries
were built on netbsd-8 and require gcc7's shared libs from pkgsrc.
This set is instead cross-built, and does not depend on an external
LLVM or external gcc.
Bump PKGREVISION, since this gets us new i586 binaries.
* lang/racket: add missing dependency on GTK3+ needed by the
`drracket' graphical IDE. Pointed out by @netbsdnoob on UnitedBSD.
See https://docs.racket-lang.org/gui/libs.html
* Explicitly enable curses and iconv support. These are set upstream
to be enabled if corresponding headers are found, which means enabled
on NetBSD, but not necessarily elsewhere. As a consequence, buildlink
include libiconv.
* Use pkgsrc devel/libffi instead of the bundled library to avoid
duplication.
* Again, bump revision.
* Package uses terminfo, so include "mk/terminfo.buildlink3.mk".
* Patch to not require ncurses on NetBSD. Builds fine with netbsd-curses
and apparently doesn't require extra features.
* Replace all instances of `-lncurses` with `-lcurses -lterminfo` in
patch files.
* Replace "devel/ncurses/buildlink3.mk" with "mk/curses.buildlink3.mk"
in Makefile to reflect above change.
* Bump revision.
Tested on NetBSD-10.0_BETA/amd64.
Bump PKGREVISION for www/nginx, www/nginx-devel, and www/unit.
<ChangeLog>
nginx modules:
*) Feature: introduced js_periodic directive.
The directive specifies a JS handler to run at regular intervals.
*) Feature: implemented items() method for a shared dictionary.
The method returns all the non-expired key-value pairs.
*) Bugfix: fixed size() and keys() methods of a shared dictionary.
*) Bugfix: fixed erroneous exception in r.internalRedirect()
introduced in 0.8.0.
Core:
*) Bugfix: fixed incorrect order of keys in
Object.getOwnPropertyNames().
</ChangeLog>
Partially revert previous commit, by downgrading the package to the
most recent release tag supporting ASCII encoded input files (and
processing strings as sequences of bytes).
This is needed by security/mozilla-rootcerts and likely other packages;
see https://mail-index.netbsd.org/tech-pkg/2023/09/17/msg028190.html.
This version incorporates all the changes described in the FIXES file up
to 2023-09-09, minus support for UTF-8 and comma-separated values (CSV)
input.
This release marks the official 2nd edition of the AWK programming
language!
# CHANGES (since 20220122)
Sep 11, 2023:
Added --csv option to enable processing of comma-separated
values inputs. When --csv is enabled, fields are separated
by commas, fields may be quoted with " double quotes, fields
may contain embedded newlines.
If no explicit separator argument is provided, split() uses
the setting of --csv to determine how fields are split.
Strings may now contain UTF-8 code points (not necessarily
characters). Functions that operate on characters, like
length, substr, index, match, etc., use UTF-8, so the length
of a string of 3 emojis is 3, not 12 as it would be if bytes
were counted.
Regular expressions are processes as UTF-8.
Unicode literals can be written as \u followed by one
to eight hexadecimal digits. These may appear in strings and
regular expressions.
Sep 06, 2023:
Fix edge case where FS is changed on commandline. Thanks to
Gordon Shephard and Miguel Pineiro Jr.
Fix regular expression clobbering in the lexer, where lexer does
not make a copy of regexp literals. also makedfa memory leaks have
been plugged. Thanks to Miguel Pineiro Jr.
Dec 15, 2022:
Force hex escapes in strings to be no more than two characters,
as they already are in regular expressions. This brings internal
consistency, as well as consistency with gawk. Thanks to
Arnold Robbins.
Sep 12, 2022:
adjbuf minlen error (cannot be 0) in cat, resulting in NULL pbuf.
discovered by todd miller. also use-after-free issue with
tempfree in cat, thanks to Miguel Pineiro Jr and valgrind.
Aug 30, 2022:
Various leaks and use-after-free issues plugged/fixed.
Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.
May 23, 2022:
Memory leak when assigning a string to some of the built-in
variables. allocated string erroneously marked DONTFREE.
Thanks to Miguel Pineiro Jr. <mpj@pineiro.cc>.
Mar 14, 2022:
Historic bug: command-line "name=value" assignment had been
truncating its entry in ARGV. (circa 1989) Thanks to
Miguel Pineiro Jr. <mpj@pineiro.cc>.
Mar 3, 2022:
Fixed file management memory leak that appears to have been
there since the files array was first initialized with stdin,
stdout, and stderr (circa 1992). Thanks to Miguel Pineiro Jr.
<mpj@pineiro.cc>.
pkgsrc change: fix dependency of ruby-activestorage70
Active Support
* Fix TimeWithZone still using deprecated #to_s when ENV or config to
disable it are set. (Hartley McGuire)
* Fix CacheStore#write_multi when using a distributed Redis cache with a
connection pool. Fixes#48938. (Jonathan del Strother)
Active Record
* Fix change_column not setting precision: 6 on datetime columns when using
7.0+ Migrations and SQLite. (Hartley McGuire)
* Fix unscope is not working in specific case
Before:
Post.where(id: 1...3).unscope(where: :id).to_sql # "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` >= 1 AND `posts`.`id` < 3"
After:
Post.where(id: 1...3).unscope(where: :id).to_sql # "SELECT `posts`.* FROM `posts`"
Fixes#48094. (Kazuya Hatanaka)
* Fix associations to a STI model including a class_name parameter
class Product < ApplicationRecord
has_many :requests, as: :requestable, class_name: "ProductRequest", dependent: :destroy
end
# STI tables
class Request < ApplicationRecord
belongs_to :requestable, polymorphic: true
validate :request_type, presence: true
end
class ProductRequest < Request
belongs_to :user
end
Accessing such association would lead to:
table_metadata.rb:22:in `has_column?': undefined method `key?' for nil:NilClass (NoMethodError)
(Romain Filinto)
* Fix change_table setting datetime precision for 6.1 Migrations
(Hartley McGuire)
* Fix change_column setting datetime precision for 6.1 Migrations
(Hartley McGuire)
Action View
* Fix form_for missing the hidden _method input for models with a namespaced
route. (Hartley McGuire)
* Fix render collection: @records, cache: true inside jbuilder templates
The previous fix that shipped in 7.0.7 assumed template fragments are
always strings, this isn't true with jbuilder. (Jean Boussier)
Action Pack
* Fix HostAuthorization potentially displaying the value of the
X_FORWARDED_HOST header when the HTTP_HOST header is being blocked.
(Hartley McGuire, Daniel Schlosser)
Active Job
* Fix Active Job log message to correctly report a job failed to enqueue
when the adapter raises an ActiveJob::EnqueueError. (Ben Sheldon)
Railties
* Omit webdrivers gem dependency from Gemfile template (Sean Doyle)
to ensure that dependent users have the correct RPATH.
Set MAINTAINER to me as a hint that I understand the Makefile patches, and
hopefully I will waste less time being confused in the future, and not
be convinced that I dreamed that I fixed this package before. O.o
hand-roll its own way of producing shared/static libaries. Install more
than just the static libraries.
Make the build process generally more portable and predictable by
further separating compilation and link stages, and using LDFLAGS
instead of CFLAGS when linking.