This release is brought to you with over 4,100 commits by the following individuals:
Abtin Molavi, Ales Huzik, Alex null
Maestas, Alexander Ilin, Alexandre Rousseau, Aleksander Sabak, Arnaut Daniel, Ashish Kurmi, Benjamin Pollack, Cat Stevens, Cecilia Knäbchen, Chris Double, Craig Allen, Dave Carlton, David Flores, David Mindlin, Doug Coleman, Dusk Banks, Fred Alger, Giftpflanze, Ikko Ashimine, Jack Lucas, John Benediktsson, Jon Harper, Justin Hill, KUSUMOTO Norio, Keldan Chapman, Kevin Cope, Konrad Hinsen, Kye Shi, Mark Sweeney, Mohamed Akram, Nandeeka Nayak, Niklas Larsson, Raghu Ranganathan, Rudi Grinberg, Samuel Tardieu, Sebastian Strobl, Sergii Fesenko, Silvio Mayolo, Steve Ayerhart, Zoltán Kéri, @Capital-EX, @inivekin, @mariari, @nicolas-p, @nomennescio, @timor
Besides some bug fixes and library improvements, I want to highlight the following changes:
- Added a Guided Tour of Factor
- Upgraded to Unicode 15
- The
fixups
vocabulary makes upgrading easier when words are renamed - Windows binaries now include OpenSSL 3.1.2 and SQLite 3.42.0 for convenience
- Re-added some support for FreeBSD
- Improved non-English text entry on macOS
- Removed support for 32-bit macOS
- File editors are now specified using
EDITOR:
syntax - Switched to newer
ucrtbase.dll
on Windows - Support disassembly using Capstone in addition to Udis86
- String literals must be separated by whitespace --
"hello"length
and"foo""bar"append
are no longer accepted by the parser - The
fry
andlocals
syntax words are now insyntax
for use in all vocabularies - Any word can be referred to by it's fully-qualified name (e.g.
math:+
orxml.writer:pprint-xml
) - The Emacs "FUEL" and VIM plugins have been updated
Some possible backwards compatibility issues:
- Moved
colors.constants
andcolors.hex
tocolors
vocabulary - Merged
io.binary.fast
intoio.binary
- Merged
io.directories.{hierarchy,search}
intoio.directories
- Merged
io.encodings.utf16n
intoio.encodings.utf16
- Renamed
math.ranges
toranges
- Renamed
ranges
words from[a,b]
to[a..b]
- Changed
FUNCTION:
syntax to not require a semi-colon at the end - Renamed
exists?
tofile-exists?
- Renamed vector dot product from
v.
tovdot
- Renamed
short
toindex-or-length
- Renamed various sorting words to be more simple
- Improved icons and other UI images on retina displays
- URL query strings only split on ampersand (
?a=b&c=d
) not semi-colon (?a=b;c=d
) - Renamed some words in
interval-sets
to prefixinterval-
... - Renamed
contents
toread-contents
- Renamed
lines
toread-lines
- Renamed
selections
toall-selections
- Renamed
intersection
tointersect-all
- Merged
json.reader
andjson.writer
intojson
vocabulary - Merged
bson.reader
andbson.writer
intobson
vocabulary - Moved
talks
to separate factor-talks repository - Renamed
ui.backend.gtk
toui.backend.gtk2
to prepare for newer GTK support
For more details, please see the full announcement at:
http://re.factorcode.org/2023/08/factor-0-99-now-available.html