Skip to content

Releases: h3rald/min

v0.46.0

28 Oct 10:27
Compare
Choose a tag to compare

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 and io.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

26 Oct 20:05
3d1a540
Compare
Choose a tag to compare

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

18 Jun 13:02
Compare
Choose a tag to compare

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 to pwd and parent-dir respectively.
  • The ! symbol has been removed; use system instead.
  • The ! sigil has been removed; use system instead.
  • The & symbol has been removed; use run instead.
  • The & sigil has been removed; use run instead.
  • The / sigil has been removed; use dget or symbol dot notation instead.
  • The % sigil has been removed; use dset or symbol dot notation instead.
  • The > sigil has been removed; use save-symbol innstead.
  • The < sigil has been removed; use load-symbol innstead.
  • Moved get-env, put-env, $ symbol and $ sigil from sys to global 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 the io module to enable/disable terminal color output.
  • Added a new from-html symbol to the xml module to parse HTML documents and fragments.
  • Added a new xentity2utf8 symbol to the xml module to convert an XML entity to its corresponding UTF-8 string.
  • Added a new xescape symbol to the xml 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

03 May 14:59
Compare
Choose a tag to compare

Fixes and Improvements

  • Upgraded OpenSSL to version 3.3.0.
  • Nimble metadata are now specified statically in the min.nimble file (Fixes #193).
  • Minor documentation fixes.

v0.43.0

04 Feb 10:59
Compare
Choose a tag to compare

BREAKING CHANGES

  • Renamed ROOT symbol to global. Also the built-in lang module is now called global.

New Features

  • Upgraded OpenSSL to v3.2.0
  • Added the min run <mmm> command to (download, install globally, and) execute the main symbol of the the specified managed module. For example this functionality can be used to upgrade .min files using the min-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

02 Dec 23:11
Compare
Choose a tag to compare

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 and min help command to correctly report sigil documentation.
  • Documented ~ (alias and sigil for lambda-bind) symbol.

v0.41.0

24 Nov 13:57
Compare
Choose a tag to compare

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

08 Oct 09:32
Compare
Choose a tag to compare

BREAKING CHANGES

  • The -c option has been removed, use min compile <file>.min to compile a min file.
  • The -e option has been removed, use min 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 and base? 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) and from-(hex|bin|dec|oct) symbols to convert integers to and from different string representations.
  • Added help, compile and eval 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.

v0.39.2

15 Aug 13:17
Compare
Choose a tag to compare

Fixes and Improvements

  • Removed depentency unnecessary dependency on nifty.
  • Now compiling using --mm:refc to decrease memory usage.

v0.39.1

02 Aug 21:18
Compare
Choose a tag to compare

Fixes and Improvements

Fixed compilation errors with Nim 2.0.