Skip to content

Releases: StartAutomating/PipeScript

PipeScript 0.2.8

19 Feb 19:31
be7b2e6
Compare
Choose a tag to compare

PipeScript 0.2.8:

More Implicit Interpretation!

  • Invoke-Interpreter will now JSONify non-string arguments (#896)
  • Invoke-Interpreter will now call Out-Parser (#857, #858)
  • Improved Interpreter exclusions
    • .ExcludePath excludes path wildcards (#875, #877)
    • .ExcludePattern excludes by pattern (#875, #876)
  • Implicit Interpretation Demo (#886)
  • Get-Interpreter (#747)
  • New Languages Supported:
  • Export-PipeScript Improvements:
    • Conditional Build Support (#907)
    • GitHub Build Summary Support (#914)
  • More Language Support:
    • More Hello Worlds (#846)
      • Template.HelloWorld.go
      • Template.HelloWorld.py
      • Template.HelloWorld.cpp
      • Template.HelloWorld.cr
    • Python Improvements:
      • Python Keywords map (#872)
      • Template.Assignment.py (#927)
      • Template.DoLoop.py (#929)
      • Template.Import.py (#913)
      • Template.UntilLoop.py (#939)
      • Template.WhileLoop.py (#936)
  • New ScriptProperties
    • Language.HasPowerShellInterpreter (#904)
    • Language.HasInterpreter (#903)
    • Language.Alias(es) (#)
  • Adding .Parallel option to GitHub action (defaulting to Serial) (#888)
  • Fixing Alias for Aliases Compiler (thanks @HCRitter ! )

Additional history in CHANGELOG

Like it? Star It! Love it? Support It!

PipeScript 0.2.7

18 Dec 06:36
724d391
Compare
Choose a tag to compare

PipeScript 0.2.7:

PipeScript can now easily define any language and you can now interpret Anything with PipeScript!

  • Complete Overhaul of Languages in PipeScript!
    • Languages are now defined in open-ended psuedo-object
    • They can define an .Interpreter
    • If they do, the language can be dynamically interpreted!
    • Languages can also specify translation methods (.TranslateFromAstType)
    • More support for the PowerShell Abstract Syntax Tree and Roslyn
    • New languages supported: Docker, XSL, XSD, BrightScript, Conf, Wren, Vue, F#, GCODE
  • New Commands:
    • Start-PSNode lets you run PowerShell as a microservice
    • Import/Export-JSON make JSON easier to work with
    • Import-ModuleMember lets modules flexibly self-extend
    • Out-HTML gives formatted HTML output!

... and much, much more


Additional history in CHANGELOG

PipeScript 0.2.6

29 Jun 01:15
c0d6230
Compare
Choose a tag to compare

PipeScript 0.2.6:

  • PipeScript can now be sponsored! (please show your support) (#488)

  • PipeScript now has several formalized command types (#452)

    • Aspects
      • DynamicParameters (#462)
      • ModuleExtensionType (#460)
      • ModuleExtensionPattern (#460)
      • ModuleExtensionCommand (#460)
    • Automatic Variables (Fixes #426)
      • $MySelf
      • $MyParameters
      • $MyCallstack
      • $MyCaller
      • $MyCommandAst (#434)
      • $IsPipedTo (#430)
      • $IsPipedFrom (#431)
    • PostProcessing/Optimization now applies to Functions (#432)
      • Partial functions are now a PostProcessor (#449)
    • Protocol Functions
      • Made HTTP, UDP, and JSON Schema Protocols into functions (#474)
      • Added OpenAPI Protocol (#457)
  • Core Command Improvements

    • Get-PipeScript is now built with PipeScript (#463)
    • Export-PipeScript
      • Is much more transparent in GitHub Workflow (#438)
      • Now lists all files built, time to build each, transpilers used, and PipeScript factor.
      • Auto Installs simple #requires in build files (#491)
    • Update-PipeScript uses AST Based Offsets (#439)
    • New-PipeScript
      • Making Description/Synopis ValueFromPipelineByPropertyName (#453)
      • Adding -InputObject parameter.
      • Making -Parameter much more open-ended (#454)
      • Improving Reflection Support (#467)
      • Allowing -Parameter as [CommandInfo]/[CommandMetaData] (#477)
      • Supporting DefaultValue/ValidValue (Fixes #473)
      • Adding -Verb/-Noun (#468)
    • Invoke-PipeScript
      • Improving Positional Attribute Parameters (Fixes #70)
      • Clarifying 'Transpiler Not Found' Messages (#484)
  • Sentence Parsing Support

    • Improving Mutliword alias support (#444)
    • Adding Clause.ParameterValues (#445)
    • Allowing N words to be skipped (#479)
  • 'All' Improvements

    • Expanding Syntax for 'All' (#436)
    • Compacting generating code (#440)
    • Adding Greater Than / Less Than aliases (#446)
    • Enabling 'should' (#448)
    • 'all applications in $path' (#475)
  • New Transpilers:

    • ValidValues (#451)
    • Adding WhereMethod (#465)
    • Adding ArrowOperator/ Lambdas ! (#464)
  • Extended Type Improvements

    • VariableExpressionAst.GetVariableType - Enabling InvokeMemberExpression (#490)
    • CommandInfo.BlockComments - Resolving aliases (#487)
    • CommandInfo.GetHelpField - Skipping additional script blocks (Fixes #486)
  • Minor Fixes:

    • Requires is now Quieter (#433)
    • Appending Unmapped Locations to Alias Namespace (Fixes #427)
    • Fixing Examples in New-PipeScript (thanks @ninmonkey !)
    • Namespaced Alias/Function - Not Transpiling if command found (#455)
    • Automatically Testing Examples (greatly expanded test coverage) (#461)
    • Templates now report errors more accurately (#489)
    • Inherit - Fixing Abstract/Dynamic Inheritance (#480)
    • Include - Allowing Including URLs (#481)
    • Partial Functions will not join their headers (#483)

Additional history in CHANGELOG

PipeScript 0.2.5

27 Apr 14:46
80fa002
Compare
Choose a tag to compare

PipeScript 0.2.5:

  • Added Support for Aspects (#401)
  • Support for Pre/Post commands in Core Transpiler
    • Commands Named PipeScript.PreProcess / PipeScript.Analyzer will run before transpilation of a ScriptBlock
    • Commands Named PipeScript.PostProcess / PipeScript.Optimizer will run after transpilation of a ScriptBlock
  • Adding PipeScript.Optimizer.ConsolidateAspects (Fixes #413)
  • Conditional Keywords Fixes (Fixes #402)
  • New-PipeScript: Improving Pipelining (Fixes #400)
  • Update-PipeScript:
  • Template Improvements
    • Templates can now be either singleline or multiline (Fixes #398)
  • New Language Support
  • XML Transpilers support inline xml output (Fixes #412)
  • Added initial demo file (Fixes #420)

Additional history in CHANGELOG

PipeScript 0.2.4

31 Mar 06:50
24a0165
Compare
Choose a tag to compare

PipeScript 0.2.4:

  • Conditional Keywords now support throw/return (#389/#388) (also, fixed #387)
  • Updating action: checking for all build errors before outputting (#378)
  • Command Updates
    • New-PipeScript: Fixing Typed function creation (Fixes #372)
    • Join-PipeScript: Fixing End Block Behavior (Fixes #383)
  • Templating Improvements:
    • New Languages Supported:
    • Markdown Template Transpiler now has a more terse format (#393).
    • Markdown Template Transpiler now supports embedding in HTML comments or CSS/JavaScript comments (#113).
    • JSON/JavaScript Template: Converting Output to JSON if not [string] (#382)
    • CSS Template Template : now Outputting Objects as CSS rules (Fixes #332)
    • Core Template Transpiler is Faster (#392) and ForeachObject is improved (#390)
  • Other Improvements
    • Include transpiler: Adding -Passthru (Fixes #385)
    • Making validation for various transpilers more careful (Fixes #381)
    • CommandNotFound behavior: Limiting recursion (Fixes #380)
    • Core Transpiler: Improving Efficiency (Fixes #379)
    • Requires allows clobbering and forces loads (Fixes #386)

Additional history in CHANGELOG

PipeScript 0.2.3

12 Mar 05:49
2f645d4
Compare
Choose a tag to compare

PipeScript 0.2.3:

New Features:

  • Added Import-PipeScript (Fixes #366)
    • Generating 'PipeScript.Imported' event on Import (#371)
  • Functions and Aliases can now be created in namespaces (#329 and #334)
    • Functions are imported as they are defined (#360)
    • Transpilers can be defined in the PipeScript.Transpiler namespace
    • You can now declare a transpiler and use it in the next line!
  • Partial Functions (#369)
  • Conditional Keywords (#374) ( You can now break if ($false) / continue if ($false))

Extended Type Improvements

  • Vastly Extending [CommandInfo] (Making PowerShell commands much more capable)
    • Properties
      • .BlockComments (Fixes #343)
      • .Category (Fixes #344)
      • .CommandNamespace (Fixes #335)
      • .CommandMetadata (#351)
      • .Description (#346)
      • .FullyQualifiedName (#339)
      • .Examples (#348)
      • .Links (#349)
      • .Metadata (#341)
      • .Rank/Order (Fixes #345)
      • .Synopsis (#347)
      • .Separator (get/set) (#337, #338)
    • Methods
      • .CouldPipe() (#356)
      • .CouldPipeType() (#359)
      • .CouldRun (#357)
      • .GetHelpField (Fixes #342)
      • .IsParameterValid() (#358)
      • .Validate() (#355)
  • Application/ExternalScriptInfo: get/set.Root (#340)
  • .Namespace alias for non-Cmdlet CommandInfo (Fixes #335)

Templating Improvements

  • SQL Transpiler: Allowing Multiline Comments (Fixes #367)
  • Adding Arduino Template (Fixes #308)
  • Allowing Markdown Transpiler to Template Text (Fixes #352)

Command Changes

  • New-PipeScript
    • Aliasing -FunctionType to -Function/CommandNamespace (Fixes #372)
    • Transpiling content unless -NoTranspile is passed (Fixes #370)
    • Allowing -Parameter dictionaries to contain dictionaries (Fixes #311)
  • Join-PipeScript
    • Adding -Indent (Fixes #365)
    • Improving Unnamed end block behavior (Fixes #363)
  • Invoke-PipeScript:
    • Adding -OutputPath (Fixes #375)

Action Improvements

  • GitHub Action Now supports -InstallModule (Fixes #353)
  • Using notices instead of set-output

Minor Changes

  • Allowing alias inheritance (Fixes #364)
  • PipeScript.FunctionDefinition: Supporting Inline Parameters (Fixes #354)

Additional history in CHANGELOG

PipeScript 0.2.2

24 Dec 10:03
084b180
Compare
Choose a tag to compare

PipeScript 0.2.2:

  • Build-PipeScript is now Export-PipeScript (aliases remain) (Fixes #312)
  • Export-PipeScript: Running BuildScripts first (Fixes #316)
  • Join-PipeScript
    • Ensuring end blocks remain unnamed if they can be (Fixes #317)
    • Trmming empty param blocks from end (Fixes #302)
  • Update-PipeScript:
    • Adding -InsertBefore/After (Fixes #309). Improving aliasing (Fixes #310)
    • Aliasing RenameVariable to RenameParameter (Fixes #303). Improving inner docs
  • requires transpiler: Caching Find-Module results (Fixes #318)
  • Extending Types:
    • Adding PipeScript.Template (Fixes #315)
    • Adding 'ExtensionScript' to PipeScript.PipeScriptType (Fixes #313)
    • Greatly extending ParameterAst (Fixes #305)
    • Extending ParamBlockAst (Fixes #304)

Additional history in CHANGELOG

PipeScript 0.2.1

16 Nov 11:42
ace7a57
Compare
Choose a tag to compare

0.2.1:

  • Adding preliminary 'define' transpiler (Fixes #299)
  • Improving interactive templates (now supported for all languages) (Fixes #285)
  • Fixing sequence dotting within non-statements (Fixes #298)
  • Allow multiple transpiler outputs to update nearby context (Fixes #297)
  • No longer expanding Regex Literals in attributes (Fixes #290)

Additional history in CHANGELOG

PipeScript 0.2

14 Nov 05:36
31fc171
Compare
Choose a tag to compare

0.2:

  • Massive Improvements in Templating
    • Templates can be used interactively (Fixes #285)
    • Renaming all Inline Transpilers to Template Transpilers
  • Natural Parsing Improvements
    • ArrayLiterals are expanded (Fixes #291)
    • AsSentence now only allows one value into a singleton (Fixes #279)
    • Not expanding expandable strings (Fixes #286)
  • Transpilers can change nearby context (Fixes #292)
  • Allowing dot syntax to extend across multiple statements (Fixes #273)
  • Adding requires keyword (Fixes #293)
  • PipeScript modifies its own manifest (Fixes #294)

Additional history in CHANGELOG

PipeScript 0.1.9

07 Nov 05:05
aa93270
Compare
Choose a tag to compare

0.1.9:

  • Protocol Transpilers
    • Adding JSONSchema transpiler (Fixes #274)
    • HTTP Protocol: Only allowing HTTP Methods (Fixes #275)
  • Keyword improvements:
    • all scripts in $directory (Fixes #277)
    • 'new' keyword recursively transpiles constructor arguments (Fixes #271)
  • Core improvements:
    • Core Transpiler stops transpilation of an item after any output (Fixes #280)
    • [CommandAst].AsSentence now maps singleton values correctly (Fixes #279)
    • PipeScript now handles CommandNotFound, enabling interactive use (Fixes #281)

Additional history in CHANGELOG