Skip to content

Releases: mdr/mash

v0.0.8

27 Mar 22:20
@mdr mdr
Compare
Choose a tag to compare
v0.0.8 Pre-release
Pre-release
Release 0.0.8

v0.0.7

09 Mar 23:17
@mdr mdr
Compare
Choose a tag to compare
v0.0.7 Pre-release
Pre-release
Release 0.0.7

v0.0.6

05 Mar 20:43
@mdr mdr
Compare
Choose a tag to compare
v0.0.6 Pre-release
Pre-release
Update release scripts

v0.0.5

08 Feb 21:59
@mdr mdr
Compare
Choose a tag to compare
v0.0.5 Pre-release
Pre-release
  • os.open, os.clipboard
  • Support @shortflag parameter attribute
  • Support attributes with arguments; @alias attribute for methods
  • os.read/Path.read
  • maths.squareRoot
  • Object.bless
  • zip function
  • Shortcuts to jump to start/end of multiline buffer
  • Object subtraction with a list of field names
  • @namedParam parameters collect all named arguments
  • max/min/maxBy/minBy support --default argument if run on empty sequence
  • @last, @Flag and @lazy attributes (instead of lazy keyword)
  • time.fromMillisSinceEpoch
  • Add diskSpace / df command
  • @Private attribute
  • HistoryEntry.reexecute
  • core.split
  • Bracket matching
  • List.intersect
  • List subtraction
  • Add Path.write (same functionality as os.write)
  • Add os.createTemp(dir|file)
  • Add String.lines
  • git.remotes
  • Add most List methods to String, treating strings as collections of strings
  • Add time.today function
  • Namespaces and loading .mash files as modules
  • Doc comments
  • Basic class support
  • Add grep --regex
  • Add type.hint
  • sort --naturalOrder
  • Very basic Host/Url/DNS: net.url, net.Url, net.Host
  • Better user-defined function type inference
  • map/flatMap/each --withIndex
  • Destructuring in assignment and function params
  • Add http.delete
  • Object browser can apply an expression to the result
  • git.tag.create/delete/list
  • Text lines browser
  • Incremental search in objects browser
  • Date and DateTime can now be compared with >, <, etc
  • Add String.toDate/toDateTime to give natural language date parsing
  • Add --standardIn flag to os.run
  • Add DateTime.fuzzy
  • Allow hiding columns in objects table browser
  • Add collections.deselect
  • Add --prefix flag to Object.hoist
  • Add collections.grep
  • Insert whole
  • mash.version
  • Single value browser
  • config.view.humanTime -- control whether to display relative friendly datetimes
  • sortBy can pass in multiple attributes as sort keys
  • History navigation skips over multiline entries until "committed" to by some non-history action
  • Comparison operators handle nulls
  • sort/sortBy handle nulls
  • Add collection.indexOf
  • Add core.try
  • Add Function/BoundMethod.invoke
  • Add view.tree
  • Add net.urlEncode
  • Add core.while
  • Add headers & cookies to http.Response
  • Object.hoist can hoist sequence-valued fields
  • Object tree printing and browsing
  • Object table browser cell navigation
  • Add mash.source
  • Add String.contains, String.endsWith
  • Add git.RemoteBranch.createLocal method
  • Render boolean fields as tick/crosses on object table browser
  • Add --regex flat to String.replace
  • Add flatten
  • Add inBackground, parallelMap, sleep
  • Add http.put, random.uuid
  • Support headers in http.*
  • Fix string escapes in interpolated strings
  • Add collections.sliding
  • Add core.tap
  • Add time.parseIso8601, http.post functions
  • Add core.timeTaken method to time how long code execution takes
  • Add maths.stats to compute summary statistics on collections of numbers
  • Add maths.log function

v0.0.4

26 Jul 20:56
@mdr mdr
Compare
Choose a tag to compare
v0.0.4 Pre-release
Pre-release
  • Add ProcessResult.duration method
  • Support multi-line commands
  • Scope local variables within { } blocks
  • Support 0- and n-argument lambdas: "=> 42", "x y => x + y"
  • Add collections.reduce function
  • Add Object.withField and .get method
  • Add function names to stack trace items
  • Infer semicolons
  • Function parameters can have defaults: "def f n (m = 100) = ..."
  • Add Number.to, Number.until to specify ranges
  • Add ProcessResult.succeeded/.failed
  • Allow multi-statement lambdas immediately inside parens and blocks
  • Add lazy parameters, not evaluated until used within function body
  • Add Number.times to repeat a block
  • Make Boolean values callable
  • Add git.isRepo
  • Add os.within
  • Add --basicAuth option to http.get
  • Allow expressions in object label position
  • Assignment returns a value
  • Add 'cd' builtin for mish
  • Add Object.hoist
  • Make Lists comparable
  • Allow _ in param position, signifying anonymous parameter
  • Support input/output redirection in mish, using < and >
  • Add json.asJson/json.fromString function

v0.0.3

06 Jul 07:17
@mdr mdr
Compare
Choose a tag to compare
v0.0.3 Pre-release
Pre-release
  • Add provenance information to stack trace entries
  • Separate Object from Any
  • Object addition: { foo: 42 } + { bar: 100 }
  • Object field subtraction: { foo: 42 } - "foo"
  • Fix bugs in os.up and git.clone
  • Improve Ctrl-Space invocation assistance
  • Add compound assignment operators: +=, -=, *=, /=
  • Remember the most recent incomplete command as the last entry in history
  • Add a globals object, prevent infinite loops when toStringing cycles
  • Add Any.isA method

v0.0.2

22 Jun 07:14
@mdr mdr
Compare
Choose a tag to compare
v0.0.2 Pre-release
Pre-release
  • Varargs support in user-defined functions
  • Better error messages for illegal function arguments
  • Added identity function
  • Field accessor methods in Git CommitHashClass
  • All collections functions now work on strings
  • Assignment to array syntax lvalues: xs[2] = 42; obj["field"] = "value"
  • alias assignment: tac = alias reverse
  • String/integer multiplication: "xy" * 3 = "xyxyxy"
  • Added Number.toInt method
  • Add startup tips
  • Insert row reference from object browser
  • !{..} syntax returns information about the process output, new !!{..} syntax throws it away
  • Additional basic Git command support
  • Added --regex flag for split
  • Added --append fag for write
  • Added ProcessResult.toPath method
  • Added --createIntermediates flag for mkdir
  • Variadic parameters can require at least one argument
  • Added view.raw, view.browser to control output formatting
  • Support substring path completions
  • Headless member exprs
  • Date arithmetic
  • Local variable scopes
  • Block expressions
  • Basic stack traces
  • flatMap
  • Object browser selection
  • Numbered results
  • History objects

v0.0.1

19 Jan 14:04
@mdr mdr
Compare
Choose a tag to compare
v0.0.1 Pre-release
Pre-release

Initial release