7.0.3 (2022-05-12)
* Some internal housekeeping on reloads could break custom respond_to?
methods in class objects that referenced reloadable constants. See #44125
for details.
* Fixed MariaDB default function support.
Defaults would be written wrong in "db/schema.rb" and not work correctly
if using db:schema:load. Further more the function name would be added as
string content when saving new records.
* Fix remove_foreign_key with :if_exists option when foreign key actually
exists.
* Remove --no-comments flag in structure dumps for PostgreSQL
This broke some apps that used custom schema comments. If you don't want
comments in your structure dump, you can use:
ActiveRecord::Tasks::DatabaseTasks.structure_dump_flags = ['--no-comments']
* Use the model name as a prefix when filtering encrypted attributes from
logs.
For example, when encrypting Person#name it will add person.name as a
filter parameter, instead of just name. This prevents unintended filtering
of parameters with a matching name in other models.
* Fix quoting of ActiveSupport::Duration and Rational numbers in the MySQL
adapter.
* Fix change_column_comment to preserve column's AUTO_INCREMENT in the MySQL
adapter
7.0.3 (2022-05-12)
* Allow relative redirects when raise_on_open_redirects is enabled.
* Fix authenticate_with_http_basic to allow for missing password.
Before Rails 7.0 it was possible to handle basic authentication with only
a username.
authenticate_with_http_basic do |token, _|
ApiClient.authenticate(token)
end
This ability is restored.
* Fix content_security_policy returning invalid directives.
Directives such as self, unsafe-eval and few others were not single quoted
when the directive was the result of calling a lambda returning an array.
content_security_policy do |policy|
policy.frame_ancestors lambda { [:self, "https://example.com"] }
end
With this fix the policy generated from above will now be valid.
* Fix skip_forgery_protection to run without raising an error if forgery
protection has not been enabled / verify_authenticity_token is not a
defined callback.
This fix prevents the Rails 7.0 Welcome Page (/) from raising an
ArgumentError if default_protect_from_forgery is false.
* Fix ActionController::Live to copy the IsolatedExecutionState in the
ephemeral thread.
Since its inception ActionController::Live has been copying thread local
variables to keep things such as CurrentAttributes set from middlewares
working in the controller action.
With the introduction of IsolatedExecutionState in 7.0, some of that
global state was lost in ActionController::Live controllers.
* Fix setting trailing_slash: true in route definition.
get '/test' => "test#index", as: :test, trailing_slash: true
test_path() # => "/test/"
7.0.3 (2022-05-12)
* Add missing bigdecimal require in ActiveJob::Arguments
* Could cause uninitialized constant ActiveJob::Arguments::BigDecimal
(NameError) when loading Active Job in isolation.
Ruby on Rails 6.1.6 (2022-05-12)
Active Support
* Fix and add protections for XSS in ActionView::Helpers and ERB::Util.
Add the method ERB::Util.xml_name_escape to escape dangerous characters in
names of tags and names of attributes, following the specification of XML.
Action View
* Fix and add protections for XSS in ActionView::Helpers and ERB::Util.
Escape dangerous characters in names of tags and names of attributes in
the tag helpers, following the XML specification. Rename the option
:escape_attributes to :escape, to simplify by applying the option to the
whole tag.
Action Pack
* Allow Content Security Policy DSL to generate for API responses.
Ruby on Rails 6.0.5 (2022-05-12)
Active Support
* Fix tag helper regression.
Action Text
* Disentangle Action Text from ApplicationController
Allow Action Text to be used without having an ApplicationController
defined.
This makes sure:
- Action Text attachments render the correct URL host in mailers.
- an ActionController::Renderer isn't allocated per request.
- Sidekiq doesn't hang with the "classic" autoloader.
Ruby on Rails 5.2.8 (2022-05-12)
Active Support
* Fix tag helper regression.
Action View
* Make `LoadInterlockAwareMonitor` work in Ruby 2.7.
* Retain Ruby 2.2 compatibility.
[v0.6.0] - 2022-06-06
Added
-Add --run-missed-task flag to wait subcommand (#48).
-SleepError variant for RuntimeErrorKind. Contributed by @4e554c4c as
part of #45.
Changed
-Switched underlying implementation in the library from sync to async.
Resolves#43. This adds dependencies to tokio and tokio-walltime.
Contibuted by @4e554c4c.
-The wait library function input arguments changed from a Duration to a
DateTime<FixedOffset>.
-Internal improvements to error handling.
-Refactor tests to avoid running real wait command.
Fixed
-Updated missing details in README.
[0.9.0] - 2022-06-05
-breaking: --lines output each bound on their own line
-feat: --regex support
-feat: minor tuning of buffers
-feat: internal improvements for --lines
-fix: right side of a range can be negative
-fix: emit proper error if right side of a range is behind left side
-fix: --lines with negative indexes were broken
-fix: --greedy-delimiter was cutting wrongly lines starting with delimiter
Changes & fixes
-BREAKING: The builtin modes cannot be accessed using space separated names
anymore. Use underscore separated mode names.
For e.g. SwitchModeBuiltin: create file becomes SwitchModeBuiltin: create_file
and so on.
-Fixed a bug with handling tab key in the input buffer.
-Added xplr.config.general.global_key_bindings to define a set of key bindings
that are available by default in every mode. e.g esc and ctrl-c.
-Added new builtin mode go_to_path which can be used for typing or pasting
paths to enter into or to focus on. Type g p to enter this mode.
-Added basic tab completion support for the go_to_path, create_file,
create_directory, rename and duplicate_as modes.
-Use the builtin function xplr.fn.builtin.try_complete_path to add easy tab
completion support into your own configuration.
-Fixed syncing current working directory with OSC 7 compatible terminals (e.g.
Wezterm).
-The NO_COLOR environment variable also disables OSC 7.
-Significantly optimized regex based search and filter.
-The files table is a little compact now.
-Removed boilerplate config from the default init.lua.
-Minor input prompt related improvements in different modes.
3.8.1
New option combination -o (--only-matching) with -ABC context to show the match within NUM columns, with context before and/or after, which visually aids in searching files with long lines; option -o with -b or -k now shows results on separate lines; new option --width to truncate long lines to the specified width or the terminal width by default; short ug command now sorts by name by default; query TUI ALT-] [ (increase/decrease context) and ALT-} { (increase/decrease fuzziness) keys switched meaning (quicker and more intuitive); new %+ format field used by updated --only-line-number option; new --help fuzzy help page; updated man pages; fixed bz2 issue cutting off decompression too soon, and other improvements.
When enabled, pull in the pkgtools/mktools package to use C-based tools for
certain parts of the pkgsrc mk infrastructure. Default is off for now while
any portability issues are shaken out, but it has been tested successfully on
at least illumos, macOS, and NetBSD.
The first tool is mk-buildlink-symlinks which creates the buildlink3 symlinks
as part of the "wrapper" phase. This significantly improves performance,
especially with packages that have a lot of buildlink3 dependencies. For
example, the time for "bmake wrapper" in x11/kde-workspace4 goes from:
real 3:20.696394375
user 50.553556463
sys 2:23.883823896
to:
real 19.873100598
user 8.141441461
sys 11.740602820
It's expected that other tools will be added over time to speed up other parts
of the infrastructure.
Collection of tools written in C to improve the performance of certain
sections of the pkgsrc mk infrastructure where shell is too slow.
For now this just includes mk-buildlink-symlinks which is used to generate
the buildlink3 symlinks as part of the "wrapper" phase.
OpenFst: Release 1.8
* Adds farencode (1.8.2)
* Deletes MakeArcMapFst in favor of CTAD on ArcMapFst (1.8.2)
* Removes `int64` (etc.) type shims in place of <cstdint> (1.8.2)
* Expands smart-pointer use (1.8.1)
* Expands std::string_view use (1.8.1)
* Removes SymbolTableReadOptions (1.8.1)
* Adds farconvert (1.8.0)
* Migration to C++17 (1.8.0)
* Updates Bazel build (1.8.0)
* Better handling for empty FARs (1.8.0)
* Improves to ExpectationWeight (1.8.0)
* Improves display of properties masks in pywrapfst (1.8.0)
* Internal reference-counting/smart pointer improvements (1.8.0)
* Deprecates PROJECT_(IN|OUT)PUT in favor of scoped enum ProjectType (1.8.0)
OpenFst: Release 1.7
* TokenType is now a scoped enum (1.7.8)
* pywrapfst is now Python 3-only (1.7.8)
* fstproject now has --project_type flag (1.7.8)
* BitmapIndex is now 2x faster for Select0/Select1 (1.7.8)
* Property testing is now thread-safe (1.7.7)
* Modernizes random generation (1.7.7)
* Adds MakeArcMapFst (1.7.6)
* Adds RealWeight and Real64Weight (1.7.6)
* Adds a new, idiomatic SymbolTable iterator interface (1.7.6)
* Improves symbol table lifetime management in pywrapfst (1.7.6)
* Improves the design of the FST class hierarchy in pywrapfst (1.7.6)
* Removes unnecessary template parameters in constructors (1.7.5)
* Converts RmEpsilonFstOptions from class to struct (1.7.5)
* Eliminates redundant checks in Minimize (1.7.5)
* CompactFst is now templated on Compactor rather than ArcCompactor (1.7.4)
* Removes harmful constexpr specifications in the FAR extension (1.7.4)
* Improved script API support for EncodeMapper (1.7.4)
* New header format for the EncodeMapper (1.7.4)
* Many cleanups to the n-gram extension (1.7.4)
* Improved C++17 compatibility shims (1.7.4)
* Overloads Arc constructors with default weight argument (1.7.3)
* Fixes RmEpsilon and Union property checking bugs (1.7.3)
* Makes Isomorphic more robust to nondeterminism (1.7.3)
* Adds default weight argument to SetFinal (1.7.3)
* Cleans up low-level logging (1.7.3)
* Adds power-weight mappers (1.7.3)
* Adds expander cache (1.7.3)
* Fixes bug with coinaccessible states in NaturalAStarEstimate (1.7.2)
* Optionally allows building with Bazel (1.7.2)
* Simplifies string printing interface (1.7.2)
* Marks weight converters const (1.7.2)
* Adds NoMatchComposeFilter (1.7.2)
* Removed static assertions that trigger bugs in GCC (1.7.1)
* Evaluates many weight operations at compile-time (1.7.1)
* Improved use of move semantics, especially in cache-backed FSTs (1.7.0)
* Adds configure-time test for float equality reflexivity (1.7.0)
* Removes volatile qualifiers from float weights (1.7.0)
* Protections for signedness in string compiler (1.7.0)
* Adds additional overloads to Equals (1.7.0)
* Clean-up to weight constructors (1.7.0)
OpenFst: Release 1.6
* Optimized label lookup in SymbolTable (1.6.9)
* Fixed HashMatcher issues with SetState() and Find() consistency (1.6.8)
* Fixed PROGRAM_FLAGS documentation string in binaries (1.6.8)
* Fixed handling of symbol tables in EpsNormalize (1.6.8)
* Fixed error reporting when FST arc type unknown (1.6.8)
* The first_path option to ShortestPath is now optimal for A* (1.6.7)
* Renames SymbolTable::kNoSymbol to kNoSymbol (1.6.7)
* Exposes PowerMapper to the scripting API (1.6.7)
* Fixes linking of the special SOs (1.6.7)
* Adds kShortestDelta for operations dependent on shortest-distance (1.6.6)
* Adds Python methods for (un)pickling and (de)serializing FSTs (1.6.6)
* Adds constructive variants of Invert and Project (1.6.6)
* Increases code sharing in MemoryPool/MemoryArena (1.6.6)
* Improves consistency of matcher FST ownership (1.6.6)
* Fixes error handling in HashMatcher (1.6.6)
* Adds non-trivial A* estimator class (1.6.6)
* Prevents unreachable code generation in libfstscript (1.6.5)
* Adds move constructors for non-trivial weight types (1.6.5)
* Standardizes method names for tuple weight types (1.6.5)
* Eliminates undefined behavior in weight hashing (1.6.5)
* Optimizes binary search in SortedMatcher (1.6.5)
* Adds SetWeight (1.6.5)
* Fixes typing error in Python FAR reader (1.6.4)
* Removes restriction that Prune argument have commutative weights (1.6.3)
* Improves configuration of CompositeWeight readers and writers (1.6.3)
* Improves accuracy of ShortestDistance summation (1.6.3)
* SetFinal now "moves" its weight argument (1.6.3)
* Exposes ArcIterator and EncodeMapper flags in Python (1.6.3)
* Properly sets return codes in FST binaries (1.6.3)
* Eliminates StringWeight macros (1.6.3)
* Finalizes most virtual method overrides (1.6.2)
* Adds float format support to FST drawing (1.6.1)
* Fixes missing includes of <fst/log.h> (1.6.1)
* Adds the "special" extension and the fstspecial binary; this is similar to
fstconvert but accepts arguments for specifying special labels (phi, rho,
and sigma) of FSTs (1.6.0)
* Exposes allow_negative_label option for Python symbol tables (1.6.0)
* Many classes and constants moved into an internal namespace (1.6.0)
* Extensive modernization for C++11 style (1.6.0)
* Adds Member method to SymbolTable (1.6.0)
* Adds HashMatcher (1.6.0)
OpenFst: Release 1.5
* Generalized epsilon normalization to non-functional case (1.5.0)
* Added multiple pushdown transducer (MPDT) support (1.5.0)
* Added general gallic (plus is union) semiring (1.5.0)
* Added p-subsequential determinization (1.5.0)
* Fixed missing Isomorphic components (1.5.0)
* Added FST compression extension (1.5.0)
* Added final method to matchers (1.5.0)
* Fixed various compiler issues (1.5.0)
* Fixed Isomorphic function (1.5.0)
* Added Python extension (1.5.0)
* Added UnionWeight (1.5.0)
* Added missing const qualification to (1.5.1):
- SymbolTableIterator access
- EncodeMapper writing to file
- EncodeMapper SymbolTable access
* Added TrivialComposeFilter for more efficient composition when one
of the arguments is epsilon-free (1.5.1)
* Added InputEpsilonMapper and OutputEpsilonMapper arc mappers (1.5.1)
* Added properties bits kUnweightedCycles and kWeightedCycles (1.5.1)
* Replaced internal custom reference-counting (RefCounter) with C++11 smart
pointers where possible, and fixed reference-counting bugs (1.5.1)
* When calling DeleteStates on a MutableFst with a shared impl, the impl
is set to a new empty impl rather than copying and deleting (1.5.1)
* Prepended Pdt to the Expand libraries and classes in the PDT
extension, and prepended MPdt to the Expand libraries and classes
in the MPDT extension, so that both can be used in the same compilation
unit (1.5.1)
* Added option to PDT Replace for compiling a strongly-regular RTN into a
bounded-stack PDT (1.5.1)
* Improved symbol table support for PDT Replace, including automatic
generation of parentheses symbols (1.5.1)
* Improvements to scripting API (1.5.1):
- Added methods for FST access and mutation
- Added additional checks for arc/weight compatibility
- WeightClass::One and WeightClass::Zero now require a specified weight
type at time of construction
- Improved VectorFstClass constructors
- Added linear-time check for cyclic dependencies in Replace
- Added EncodeMapperClass, a template-free box for an EncodeMapper
* Improvements to the binaries (1.5.1):
- Fixed no-op --precision flag to fstdraw (1.5.1)
- Fixed no-op --file_list_input flag to farcreate (1.5.1)
* Improvements to the Python extension (1.5.1):
- Adds methods for creating an empty mutable FST
- Adds methods for FST access via state and arc iteration
- Adds FST compilation from arclists (cf. fstcompile)
- Adds FST printing and drawing
- Adds FarReader and FarWriter classes.
* Consolidated Python extension into single module (1.5.2)
* FarReader's GetFst method now returns a pointer (1.5.2)
* Python add_arc now takes an Arc object (1.5.2)
* Fixed build flags for dlopen (1.5.2)
* Fixed FSTERROR macro (1.5.2)
* Scripting API and Python weight objects now support semiring arithmetic
(1.5.3)
* Mutation methods of the Python Fst object now support chaining (1.5.3)
* Adds optional minimization of non-deterministic FSTs (1.5.3)
* Adds check for error when opening files when compiling strings into FARs
(1.5.4)
* Prevents underflow when using LogProbArcSelector in random generation
(1.5.4)
* Adds routines for parsing string flags to the scripting API (1.5.4)
* Makes random weight generators a single template class (1.5.4)
* Makes weight Properties constexpr where possible (1.5.4)
* Adds RemoveSymbol method to SymbolTable (1.5.4)
OpenFst: Release 1.4
* Port to C++11 (1.4.0)
* Isomorphic function added (1.4.0)
* Disambiguate function added (1.4.0)
* Matcher interface augmented with Priority method
* Special matchers (rho/sigma/phi) can match special symbols
on both input FSTs in composition/intersection provided at each
state pair they only match one side (1.4.0)
* Added ExplicitMatcher to suppress implicit matches (e.g. epsilon
self-loops) (1.4.0)
* Linear{Tagger,Classifier}Fst extensions added (1.4.0).
* Generalized state-reachable to work when input is cyclic (so long as no
final state is in a cycle). This ensures label-reachable (and hence label
lookahead) works with cyclic input (1.4.0)
* Added Condense to build the condensation graph (SCCs condensed to single
states) of an FST (1.4.0).
* Added an option to Reverse to specify whether a super-initial state
should always be created (1.4.0).
* Fixed bugs in FirstCacheStore, PowerWeight, and StringCompiler (1.4.0).
* Changed SymbolTable to use faster data structure (1.4.0).
* Added 'min' disambiguation in determinizaton to keep only the minimum
output in a non-functional transducer when plus=min/max
(flag --disambiguate_output) (1.4.1)
* Compiler issues in linear-fst fixed (1.4.1)
OpenFst: Release 1.3
* Support for non-fatal exits on errors: (1.3.1)
- Added FLAGS_fst_error_fatal: FST errors are
fatal if true (default); o.w. return objects flagged as bad:
e.g., FSTs - kError
prop. true, FST weights - not a Member().
- Added kError property bit signifying bad FST
- Added NoWeight() method to FST weight requirements that returns
weight that is not a Member().
* Various improvements to the FAR extensions (1.3.1)
- a single FST is now a FAR type
- FLAGS_initial_symbols: Uses the symbol table from the
first FST in the archive for all entries"
- Input/output to standard input/output for some FAR and arc types
* --with-icu configuration option no longer needed (1.3.1)
* Improved flags usage esp. if use SET_FLAGS not SetFlags/InitFst (1.3.2)
* Added 'fst' as possible far writer type (1.3.2)
* phi matcher can now accept 0 as the phi label (1.3.2)
* Added ngram-fst extension (1.3.2)
* Improved performance of PDT composition (1.3.3)
* Memory-map support (1.3.3)
* Fixed cross-FST serialization issues (1.3.3)
* Fixed NGramFst off-by-one issue (1.3.3)
* farextract now allows one to specify a list of comma-separated keys,
including key ranges (1.3.3)
* Fixed bug in PDT replace that could cause close paren IDs to collide
with open paren IDs (1.3.4)
OpenFst: Release 1.2
* Added lookahead matching and filtering for faster composition
* Added EditFst for mutation of o.w. immutable FSTs
* Added script sub-namespace defining type FstClass, a non-templated
Fst<Arc> to hold the arc template type internally. This and FST
operations on it allow easier I/O and scripting at the cost of some
runtime dispatching.
* Added per-arc-iterator control of Fst caching.
* Added PowerWeight and Power Arc.
* Added SparsePowerWeight and SparsePowerArc (1.2.4)
* Added SignedLogWeight and SignedLogArc (1.2.4)
* Added ExpectationWeight and ExpectationArc (1.2.4)
* Added AStarQueue, PruneQueue and NaturalPruneQueue disciplines (1.2.6)
* Added Log64Weight and Log64Arc to FST library throughout, including
support throughout scripts/bins/dsos (1.2.8)
* Added delayed RandGenFst that outputs tree of paths weighted
by count (1.2.8)
* Added fstsymbols shell-level command
* Added total weight removal option to pushing
* Changed methods for symbol table mutation:
use MutableInputSymbols()/MutableOutputSymbols().
* Numerous efficiency improvements esp in composition, replace, and caching
* Made "fstmap" handle semiring conversion by adding "to_std", "to_log"
and "to_log64" as supported 'map_type' arguments (1.2.8).
* Made the destructive implementation of RmEpsilon skip over states
admitting no non-epsilon incoming transition (1.2.8).
* Fixed numerous bugs (1.2 through 1.2.9) including:
- improper types of some approximation deltas
- sub-optimal hashing functions
- issues in internal reuse of shortest distance
- hashing bug in FloatWeight
- bug in shortest path queue
- symbol table checksumming issues
- various C++ standards issues
- Visit() behavior when visitation aborted
- Decode() hash performance bug (1.2.1)
- EditFst::Copy(bool) method when the boolean parameter is true (1.2.7)
- SymbolTable memory leak in Invert() (1.2.8)
- Added escaping of " and \ in labels in fstdraw, needed for dot to
function properly (1.2.8)
- Fixed handling of final weight of start state in fstpush (1.2.8)
- Added FST_LL_FORMAT to fix 64-bit integer printf issues (1.2.9)
- Fixed missing <functional> includes (1.2.9)
- Fixed reused local variable names (1.2.9)
- Fixed passing string by reference in FstDraw args (1.2.9)
* Added extensions directories including:
- finite-state archive (FAR) utilities,
added stlist format supporting writing/reading to/from standard out/in
at the library-level (1.2.8)
- compact FSTs
- lookahead FSTs
- pushdown transducers (improved in 1.2.1 through 1.2.7).
* Added StateMap/StateMapFst; renamed Map/MapFst to ArcMap/ArcMapFst;
map/MapFst retained (but deprecated) (1.2.9)
* Deleted ArcSum() and ArcMerge; use StateMap w/ ArcSumMapper and
ArcUniqueMapper (1.2.9).
* Incremented version of ConstFst/CompactFsts to stop memory alignment
that fails on pipes. Made old version raises errors when read on
pipes (1.2.9).
* Improved determinize hash (1.2.9)
* Removed stdio uses (1.2.10)
* Fixed library ordering issues esp. with newer GNU build tools (1.2.10)