Skip to content

Releases: oleg-shilo/cs-script

Release v4.1.4.0-HotFix

04 Nov 12:37
Compare
Choose a tag to compare
Pre-release
  • Updated -speed and -code with the complete support -ng:* switches
  • Added IEvaluator.IsCachingEnabled. Ite as always available from the conctrete types implementing IEvaluator and now it is moved directly to the interface.
  • Added -servers:start and -servers:stop command to control both Roslyn and csc build servers at the same time
  • CSScriptLib: Native API CacheEnabled marked as obsolete
  • Issue #258: Can not run scripts after installing VS2022
  • Issue #257: Ability to catch AppDomain.UnhandledException in a not-hosted script (cscs)
  • Issue #255: Relative path for cscs.exe -out option results in wrong output folder
  • Issue #254: Script merger for hosted scripts
  • Issue #253: Supports both .Net Framework and .Net 5
  • Issue #252: System.NullReferenceException: Object reference not set to an instance of an object. (updated API doc)
  • Added auto-generation of the CLI MD documentation with -help cli:md. To be used to generate GitHub wiki page during the build
  • Fixed Debian packaging problem (/n/r needed replacement with \n)

Release v4.1.2.0-pre

12 Sep 00:11
Compare
Choose a tag to compare
Release v4.1.2.0-pre Pre-release
Pre-release
  • Issue #252: System.NullReferenceException: Object reference not set to an instance of an object. (updated API doc)
  • Issue #253: Supports both .Net Framework and .Net 5

Release v4.1.0.0

18 Jul 15:05
Compare
Choose a tag to compare

Implementation of Roslyn engine that allows execution of scripts (both CLI and hosted) on the target system without .NET 5 SDK installed.


Deployment

Ubuntu (terminal)

repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.1.0.0/; file=cs-script_4.1-0.deb; rm $file; wget $repo$file; sudo dpkg -i $file

Windows (choco)
Pending approval

choco install cs-script --version=4.1.0.0 

It is highly recommended that you uninstall CS-Script.Core:

sudo choco uninstall cs-script.core

Manual
Just unpack the corresponding 7z file and start using the script engine executable cscs.
If you prefer you can build a shim exe css for an easy launch of the script engine process:

cscs -self-exe

The same shim/symbolic link is created if you are installing the CS-Script as a package.


Changes

CLI

  • Added support for Roslyn engine (no SDK required). See this wiki for details.

    Per-execution

    From command line:

    css -engine:roslyn <script file>
    or
    css -ng:roslyn <script file>
    

    From script code:

    //css_engine roslyn
    or
    //css_ng roslyn

    Global

    css -config:set:DefaultCompilerEngine=roslyn
  • Added option to configure build server ports from environment variables

  • Issue #235: csc engine cannot compile dll

CSScriptLib

  • Issue #245: .Net 5 SDK project, could not run "CompileAssemblyFromCode"
  • Issue #244: Some questions about 4.0.2
    RefernceDomainAsemblies made obsolete and renamed to ReferenceDomainAssemblies
    Added extension methods IEvaluator.ExcludeReferencedAssemblies

Release v4.0.2.0

30 May 13:01
Compare
Choose a tag to compare

Minor usability improvements of CSScriptLib:

  • Unloading script assembly.
    After .NET Framework ignoring the problem for ~14 years .NET Core fillally allows this feature to be implemented.
  • Excluding assemblies from being auto referenced (assembly filtering).
  • Implemented script caching that was available in the CS-Script edition for .NET Franework.

Deployment

Ubuntu (terminal)

repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.0.2.0/; file=cs-script_4.0-2.deb; rm $file; wget $repo$file; sudo dpkg -i $file

Windows (choco)
Pending approval

choco install cs-script --version=4.0.2.0 

It is highly recommended that you uninstall CS-Script.Core:

sudo choco uninstall cs-script.core

Manual
Just unpack the corresponding 7z file and start using the script engine executable cscs.
If you prefer you can build a shim exe css for an easy launch of the script engine process:

cscs -self-exe

The same shim/symbolic link is created if you are installing the CS-Script as a package.


Changes

CLI

No changes

CSScriptLib

  • Added support for filtering referenced assemblies:

    dynamic script = CSScript
                         .Evaluator
                         .SetRefAssemblyFilter(asms =>
                             asms.Where(a => !a.FullName.StartsWith("Microsoft."))
                         .LoadCode(scriptCode);
  • Added extension method for unloading script assembly after the execution

    ICalc calc = CSScript
                    .Evaluator
                    .With(eval => eval.IsAssemblyUnloadingEnabledled = true)
                    .LoadMethod<ICalc>("int Sum(int a, int b) => a+b;");
    
    var result = calc.Sum(7, 3);
    
    calc.GetType()
        .Assembly
        .Unload();
  • Added script caching. If caching is enabled (disabled by default) the script is to be recompiled only if it is changes since the last execution. It applies to both execution if script file and script code.

    dynamic script = CSScript
                         .Evaluator
                         .With(eval => eval.IsCachingEnabled = true)
                         .LoadMethod(@"object print(string message)
                                       {
                                           Console.WriteLine(message);
                                       }");
    
    script.print("Hello...");

Release v4.0.1.0

22 Mar 11:23
Compare
Choose a tag to compare

The first .NET 5 based release.

From this release both .NET Framework (CS-Script) and .NET Core (CS-Script.Core) streams are merged into one platform CS-Script.
Similar to merger of .NET Framework and .NET Core into .NET 5


Deployment

Ubuntu (terminal)

repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.0.0.0/; file=cs-script_4.0-0.deb; rm $file; wget $repo$file; sudo dpkg -i $file

Windows (choco)
Pending approval

choco install cs-script.core --version=4.0.0.0 

It is highly recommended that you uninstall CS-Script.Core:

sudo choco uninstall cs-script.core

Manual
Just unpack the corresponding 7z file and start using the script engine executable cscs.
If you prefer you can build a shim exe css for an easy launch of the script engine process:

cscs -self-exe

The same shim/symbolic link is created if you are installing the CS-Script as a package.


Changes

v4.0.1.0

CLI

  • Added support for -verbose2 CLI switch to echo compiling input and output
  • Added //css_webapp support
  • Added checking fro SDK being installed
  • Added cli/web-api sample
  • Issue #234: Could not find a part of the path with CS-Script 4.0.0.0

v4.0.0.0

CLI

  • New commands:
    • -server - for managing build server
    • -vscode - to open script in VSCode
    • -vs - to script project in Visual Studio
    • -self-test - for testing the engine on the target system
    • -self-exe - for building css launcher for manual deployment
    • -engine:<csc|dotnet>
    • -new:toplevel - CLI parameter
    • -profile - for testing script loading performance
    • -speed - for compiler performance testing
  • Added css.exe
  • Added suppotrrt for setting csc path with %css_csc_file%
  • Improved error output for BuildServer run failures
  • Added creation of code.header on first use of CLI command -code
  • Added complex (multi-file) commands support (e.g. css -self-test-run)
  • Implemented build server
  • Implemented hot-loading for csc engine.
  • Normalized all \n and \r\n CLI output by using Environment.NewLine
  • Added reporting using of incompatible csc compiler for scripts requiring XAML compilation

CSScriptLib

  • Implemented //css_winapp for WinForm and WPF applications
  • Added //css_engine (//css_ng) directive for choosing the compiling engine
  • Completed CSScript.Evaluator.CodeDom interface.
  • Implemented transparent hosting of CSScriptLib in .NET-Framework and .NET-Core
  • Removed dependency on Roslyn for pure CodeDom evaluator use-case
  • added sample with downloading the latest C# compiler
  • added passing compiler options
  • Implemented probing for default C#5 compiler when hosted on .NET Framework.
  • Extending u-testing to cover new Evaluator features (CSScriptLib.dll)
  • Added CodeDomEvaluator.CompilerLastOutput

Release v4.0.0.0

16 Mar 11:49
62131b2
Compare
Choose a tag to compare
Release v4.0.0.0 Pre-release
Pre-release

The first .NET 5 based release.

From this release both .NET Framework (CS-Script) and .NET Core (CS-Script.Core) streams are merged into one platform CS-Script.
Similar to merger of .NET Framework and .NET Core into .NET 5


Deployment

Ubuntu (terminal)

repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.0.0.0/; file=cs-script_4.0-0.deb; rm $file; wget $repo$file; sudo dpkg -i $file

Windows (choco)
Pending approval

choco install cs-script.core --version=4.0.0.0 

It is highly recommended that you uninstall CS-Script.Core:

sudo choco uninstall cs-script.core

Manual
Just unpack the corresponding 7z file and start using the script engine executable cscs.
If you prefer you can build a shim exe css for an easy launch of the script engine process:

cscs -self-exe

The same shim/symbolic link is created if you are installing the CS-Script as a package.


Changes

CLI

  • New commands:
    • -server - for managing build server
    • -vscode - to open script in VSCode
    • -vs - to script project in Visual Studio
    • -self-test - for testing the engine on the target system
    • -self-exe - for building css launcher for manual deployment
    • -engine:<csc|dotnet>
    • -new:toplevel - CLI parameter
    • -profile - for testing script loading performance
    • -speed - for compiler performance testing
  • Added css.exe
  • Added suppotrrt for setting csc path with %css_csc_file%
  • Improved error output for BuildServer run failures
  • Added creation of code.header on first use of CLI command -code
  • Added complex (multi-file) commands support (e.g. css -self-test-run)
  • Implemented build server
  • Implemented hot-loading for csc engine.
  • Normalized all \n and \r\n CLI output by using Environment.NewLine
  • Added reporting using of incompatible csc compiler for scripts requiring XAML compilation

CSScriptLib

  • Implemented //css_winapp for WinForm and WPF applications
  • Added //css_engine (//css_ng) directive for choosing the compiling engine
  • Completed CSScript.Evaluator.CodeDom interface.
  • Implemented transparent hosting of CSScriptLib in .NET-Framework and .NET-Core
  • Removed dependency on Roslyn for pure CodeDom evaluator use-case
  • added sample with downloading the latest C# compiler
  • added passing compiler options
  • Implemented probing for default C#5 compiler when hosted on .NET Framework.
  • Extending u-testing to cover new Evaluator features (CSScriptLib.dll)
  • Added CodeDomEvaluator.CompilerLastOutput

Release v3.30.5.2

24 Dec 12:12
Compare
Choose a tag to compare

Release v3.30.5.2

This release has v3.30.5.1 distro packaging problem fixed. Otherwise it is identical to Release v3.30.5.1:

  • Issue #220: Reason for not defining TRACE when compiling without the debug flag
  • Removed all non v4.6 targets from the NuGet packages
  • PR #178:Fixed issue where Example.Sub assembly would be matched when requesting Example assembly

Release v3.30.5.1

21 Dec 17:46
Compare
Choose a tag to compare
  • Issue #220: Reason for not defining TRACE when compiling without the debug flag
  • Removed all non v4.6 targets from the NuGet packages
  • PR #178:Fixed issue where Example.Sub assembly would be matched when requesting Example assembly

Release v3.30.5.0-pre

20 Dec 01:00
Compare
Choose a tag to compare
Release v3.30.5.0-pre Pre-release
Pre-release
  • Issue #220: Reason for not defining TRACE when compiling without the debug flag
  • Removed all non v4.6 targets from the NuGet packages
  • PR #178:Fixed issue where Example.Sub assembly would be matched when requesting Example assembly

Release v3.30.4.0

12 Dec 14:15
Compare
Choose a tag to compare
  • PR #178:Fixed issue where Example.Sub assembly would be matched when requesting Example assembly
  • Issue #213: Error message uses a non-Windows \n instead of e.g. Environment.NewLine
  • Issue #211: Implementing a partial class with a circular css_import results in a recursion in CS-Script and results in a PathTooLongException
  • Issue #214: The exception that is thrown when a the script compiler error occurs.
  • Issue #202: Better versioning of referenced NuGet packages
  • Issue #203: precompiler/context["CompilerOptions"] doesn't appear to work
  • Issue #198: Changes from version 3.29 to 3.30