Releases: h3rald/min
Releases · h3rald/min
v0.46.0
BREAKING CHANGES
- Actually removed the
invoke
symbol and*
sigil that were supposed to be removed in v0.44.0 but didn't. - Removed Dockerfile and Notepad++ highlighter (no longer maintained).
- When defining or deleting a sigil, a symbol with the same name is now defined/deleted as well.
- Removed obsolete aliases
io.read
andio.write
.
Fixes and Improvements
- Implemented
define-sigil
(was documented but not actually implemented). - Reviewed documentation making sure that documented operators match with implementation.
- The
help
symbol now correctly displays help for namespaced symbols. - Enhanced the
tokenizer
symbol to provide additional information for symbols. - Enhanced min shell highlighting to support dot notation, sigils, autopop, global symbols.
- Enhanced Vim syntax file to support latest constructs.
v0.45.0
BREAKING CHANGES
- All symbols defined in the num module have been moved to the global module.
- All symbols defined in the logic module have been moved to the global module.
- All symbols defined in the str module have been moved to the global module.
- All symbols defined in the seq module have been moved to the global module.
- Removed lambdabind (use lambda-bind instead).
- The stack module is no longer imported.
- stack module: removed symbol id.
- stack module: renamed clear-stack to clear.
- stack module: removed clearstack (use stack.clear instead).
- stack module: renamed get-stack to get.
- stack module: removed getstack (use stack.get instead).
- stack module: renamed set-stack to set.
- stack module: removed setstack (use stack.set instead).
- The io module is no longer imported.
- io module: renamed fwrite and write to fs.write
- io module: renamed fread and read to fs.read
- io module: renamed fappend to fs.append
- io module: moved print to the global module.
- io module: removed newline (use
"" puts!
instead). - The fs module is no longer imported.
- fs module: renamed fperms to fs.permissions
- fs module: renamed fsize to fs.size
- fs module: renamed fstats to fs.stats
- fs module: renamed ftype to fs.type
- The time module is no longer imported.
- time module: renamed tformat to time.format
- time module: renamed timeinfo to time.info
- time module: renamed timestamp to time.stamp
- The dict module is no longer imported.
- dict module: renamed dhas? to dict.has?
- dict module: renamed dget to dict.get
- dict module: renamed dget-raw to dict.get-raw
- dict module: renamed dset to dict.set
- dict module: renamed dset-sym to dict.set-sym
- dict module: renamed ddel to dict.del
- dict module: renamed dkeys to dict.keys
- dict module: renamed dvalues to dict.values
- dict module: renamed dpairs to dict.pairs
- dict module: renamed ddup to dict.dup
- dict module: renamed dpick to dict.pick
- dict module: renamed dtype to dict.type
- The sys module is no longer imported.
- The dstore module has been renamed to store, and is no longer imported.
- store module: renamed dsinit to store.init
- store module: renamed dsget to store.get
- store module: renamed dshas? to store.has?
- store module: renamed dsput to store.put
- store module: renamed dspost to store.post
- store module: renamed dsdelete to store.delete
- store module: renamed dsquery to store.query
- store module: renamed dswrite to store.write
- store module: renamed dsread to store.read
- The crypto module is no longer imported.
- The math module is no longer imported.
- math module: renamed r2g to math.r2d
- The net module is no longer imported.
- The http module is no longer imported.
- The xml module is no longer imported.
- xml module: renamed xcomment to xml.comment
- xml module: renamed xentity to xml.entity
- xml module: renamed xtext to xml.text
- xml module: renamed xentity2utf8 to xml.entity2utf8
- xml module: renamed xcdata to xml.cdata
- xml module: renamed xescape to xml.escape
- xml module: renamed xelement to xml.element
- xml module: renamed xquery to xml.query
- xml module: renamed xqueryall to xml.query-all
- The prompt symbol is no longer unsealed.
Fixes and Improvements
- Upgraded OpenSSL to v3.3.2.
v0.44.0
BREAKING CHANGES
- User-defined symbols can no longer contain dots (
.
). - The symbol
invoke
and the*
sigil have been removed in favor of symbol dot notation. - The
.
and..
symbols have been renamed topwd
andparent-dir
respectively. - The
!
symbol has been removed; usesystem
instead. - The
!
sigil has been removed; usesystem
instead. - The
&
symbol has been removed; userun
instead. - The
&
sigil has been removed; userun
instead. - The
/
sigil has been removed; usedget
or symbol dot notation instead. - The
%
sigil has been removed; usedset
or symbol dot notation instead. - The
>
sigil has been removed; usesave-symbol
innstead. - The
<
sigil has been removed; useload-symbol
innstead. - Moved
get-env
,put-env
,$
symbol and$
sigil fromsys
toglobal
module.
New Features
- It is now possible to access dictionary (and module) keys (even nested) via dot notation. This replaces the
invoke
symbol. - Added shell auto-completion for symbols using dot notation
- Added a new
color
symbol to theio
module to enable/disable terminal color output. - Added a new
from-html
symbol to thexml
module to parse HTML documents and fragments. - Added a new
xentity2utf8
symbol to thexml
module to convert an XML entity to its corresponding UTF-8 string. - Added a new
xescape
symbol to thexml
module to convert special XML characters into the corresponding XML entities.
Fixes and Improvements
- Fixed
tokenize
symbol (wasn't processing commands correctly)
v0.43.1
v0.43.0
BREAKING CHANGES
- Renamed
ROOT
symbol toglobal
. Also the built-inlang
module is now calledglobal
.
New Features
- Upgraded OpenSSL to v3.2.0
- Added the
min run <mmm>
command to (download, install globally, and) execute themain
symbol of the the specified managed module. For example this functionality can be used to upgrade.min
files using themin-upgrade
managed module. - mmm: It is now possible to install, uninstall, and update modules by specifying them via
<name>@<version>
. - mmm: The version is now optional when installing, uninstalling, and updating modules (the name of the HEAD branch will be used, e.g. "master" or "main", typically).
Fixes and Improvements
- Added check to prevent installing local managed modules in the HOME directory or $HOME/mmm.
- Changed
tokenize
symbol so that it returns the full token, including delimiters (for strings and comments). - Fixed regression in
min compile
command introduced in the previews version due to parses changes.
v0.42.0
BREAKING CHANGES
- The
dpairs
symbol now returns a quotation of quotations, each containing a value/key pair.
New Features
- Added
dev
symbol to toggle development mode within a min program. - Implemented mmm, i.e. min module management. The following new commands are now built-in into the min executable:
- min init — Initialize a manage module.
- min install — Install a managed module.
- min uninstall — Uninstall a managed module.
- min update — Update a managed module.
- min list — List all dependent managed modules.
- min search — Search for managed module.
Fixes and Improvements
- Fixed
help
symbol andmin help
command to correctly report sigil documentation. - Documented
~
(alias and sigil forlambda-bind
) symbol.
v0.41.0
BREAKING CHANGES
- SSL is now enabled by default when installing via nimble and when compiling by default. Use
-d:nossl
to disable.
New Features
- min shell now supports syntax highlighting for entered values.
- Implemented smart completion for invocations in min shell.
- Implemented new
tokenize
symbol. - Added syntax highlighting to code examples on min site.
Fixes and Improvements
- Auto-completions for files and folders now automatically end with
"
. - The min shell no longer attempts to auto-complete executables (it never worked properly anyway).
v0.40.0
BREAKING CHANGES
- The
-c
option has been removed, usemin compile <file>.min
to compile a min file. - The
-e
option has been removed, usemin eval <string>
to evaluate a string as a min program.
New Features
- Added support for binary (0b) octal (0o), and hexadecimal (0x) integers in parser.
- Added
base
andbase?
symbols to set and get the current number base (dec, hex, bin or oct). - Added
bitparity
,bitclear
,bitflip
,bitset
, symbols for biwise operations. - Added
to-(hex|bin|dec|oct)
andfrom-(hex|bin|dec|oct)
symbols to convert integers to and from different string representations. - Added
help
,compile
andeval
commands to the min executable.
Fixes and Improvements
- Now requiring
checksums
unless OpenSSL is used. - Prepended
std/
to standard library modules. - REPL tab-completions are now sorted alphabetically.