Skip to content

Release v0.3.7

Choose a tag to compare

@github-actions github-actions released this 08 Dec 12:07
"Bump version v0.3.7"

Squashed commit of the following:

commit 2ac5a4a1f563ffbab2ba269f41409e00cbf8c226
Author: Qin Wan <rogerwq@gmail.com>
Date:   Mon Dec 8 12:04:35 2025 +0000

    minor fix

commit 6399a52d9ae0675b0b4d570b653bb007ba240443
Author: Qin WAN <rogerwq@gmail.com>
Date:   Mon Dec 8 21:01:14 2025 +0900

    V037/configuration strategy unification (#57)

    * change: ver => 0.3.7

    * docs: extract navigation content to separate doc file

      Move key bindings and navigation instructions from README to
      doc/navigation.md to improve documentation organization.

    * docs: reorganize documentation into separate files
      - Extract requirements, installation, and FAQ to doc/get_started.md
      - Simplify README with links to documentation files

    * docs: reorganize documentation into separate files
      - Extract workflow documentation to doc/workflows.md

    * - Move release guide to doc/releasing.md

    * refactor: move WorkflowMetadata to separate workflow module (WIP)

      Move WorkflowMetadata struct from job_config/config.rs to a new
      job_config/workflow.rs module. This is the first step toward migrating
      workflow configuration from JSON to TOML format.

      Note: This commit is work-in-progress. The code does not compile yet
      as the WorkflowParams type change requires further updates to callers.

    * wip: configuration unification - merge JobConfig and NodeMetadata into JobMeta

      - Add JobMeta struct in job_config/src/job.rs combining JobConfig and NodeMetadata
      - Add ParamDefinition, ParamType, Container, Scripts structs with TOML support
      - Move WorkflowMetadata to separate job_config/src/workflow.rs module
      - Update callers: load_config() → load_meta() in workflow and docker components
      - Update CHANGELOG.md with configuration unification progress

      Note: This is work-in-progress. Further changes needed for JobParams/WorkflowParams
      to use JSON format while ParamDefinition stays with TOML.

    * feat(config): separate params module with JSON-based parameter storage

      - Add job_config/src/params.rs with JobParams and WorkflowParams using serde_json::Value
      - Parameter definitions (ParamDefinition) remain TOML-based in job.toml
      - Parameter values now stored as JSON: params.json, global_params.json
      - Add toml_to_json/json_to_toml conversion utilities
      - Update all callers to use new params module and JSON format
      - Update CHANGELOG.md and job_config/README.md

    * refactor(config): simplify Container struct with image and use_gpu fields

      - Change Container from enum to struct with 'image' and 'use_gpu' fields
      - Remove Dockerfile support (only Docker images are now supported)
      - Move use_gpu from JobMeta into Container struct
      - Add Container::new() and Container::with_gpu() constructors
      - Update TOML format: docker_image → image, use_gpu moves to container section
      - Update all callers and documentation

    * refactor(config): move job dependencies to WorkflowMetadata

      - Add dependencies field to WorkflowMetadata in workflow.rs
      - Remove depends_on field from JobMeta in job.rs
      - Update topological_sort_jobs() to use workflow metadata for dependencies
      - Update copy_input_files_from_dependencies() to accept dependencies separately
      - Job dependencies are now defined at workflow level in workflow.toml
      - Add get_job_dependencies() and set_job_dependencies() helper methods
      - Update documentation and tests

    * refactor: rename WorkflowMetadata to WorkflowMeta for consistency

      Renamed WorkflowMetadata struct to WorkflowMeta to match the naming
      convention used by JobMeta, providing a consistent API across the
      job_config crate.

      Changes:
      - Renamed struct and impl in job_config/src/workflow.rs
      - Updated all callers in silva workflow and docker components
      - Updated documentation in README.md and CHANGELOG.md

    * save current dev state to doc/changelogs

    * refactor(job_config): remove legacy config module

      Remove job_config/src/config.rs (893 lines) as its functionality
      has been consolidated into job.rs, params.rs, and workflow.rs.
      Update README with current Container struct API.

    * refactor: unify param editors and fix all tests

      - Merge params_editor and global_params_editor using generics
        - Add ParamSource trait for job/workflow parameter abstraction
        - Delete global_params_editor.rs (396 lines removed)

      - Fix 12 failing tests:
        - Add serial_test crate for test isolation
        - Add #[serial] to tests modifying shared env vars
        - Fix outdated config format: docker_image -> image

    * refactor: extract ParamSource trait to separate module

      Move ParamSource trait, JobParamSource, and WorkflowParamSource
      from params_editor.rs to dedicated param_source.rs module for
      better code organization and separation of concerns.

    * refactor: extract WorkflowFolder to separate module

      Move WorkflowFolder struct and its methods from manager.rs to
      dedicated workflow_folder.rs module for better code organization
      and separation of concerns.

    * refactor: rename Job to JobFolder for consistency

      Rename Job struct to JobFolder and job.rs to job_folder.rs to match
      the naming convention used by WorkflowFolder. This improves code
      consistency across the workflow component.

    * feat: add CLI argument for headless workflow execution

       Run workflows directly from command line without TUI:
       - `silva` starts TUI mode (default)
       - `silva <workflow_path>` runs workflow headlessly

    * fix: improve headless workflow execution reliability

       - Add container keep-alive command to prevent container exit between jobs
       - Run headless workflows in temp folder (matching TUI behavior)
       - Copy input files from dependency outputs to current job folder
       - Persist temp folder after execution for output inspection

    * docs: update workflow documentation for new config format

      Update documentation to reflect the current configuration architecture:
      - `.chiral/workflow.toml` for workflow-level dependencies and global params
      - `.chiral/job.toml` for job configuration with `image` field
      - Job parameters with environment variable injection (PARAM_* prefix)
      - Updated all examples to use new format

    * test: verify headless workflow with customized params.json

      Verified that params.json and global_params.json correctly override
      default parameter values in headless mode:
      - Job params: r_min, r_max, min_spheres, etc. from params.json
      - Global params: pdb_id from global_params.json

      Minor formatting cleanup in headless.rs.

    * eat: add progress display when pulling Docker images

      Extract and display progress info from Bollard's CreateImageInfo during
      image pulls, showing:
      - Layer ID (e.g., 20043066d3d5)
      - Status (Pulling fs layer, Downloading, Extracting, Pull complete)
      - Download/extract percentage when available
      - Final digest and status on completion

    * feat(job_config): add ImageSource enum for multiple image types

      Add support for multiple container image sources in job_config:
      - Registry: Docker registry URL (e.g., "ubuntu:22.04")
      - TarFile: Local Docker tar archive (e.g., "./image.tar")
      - SifFile: Singularity/Apptainer image (e.g., "./container.sif")

      Image source is auto-detected based on file extension.
      Also add test_workflow.sh script for testing workflow-007.

    * fix: update changelog details

    * fix: remove task.md

commit bd1f7d0bed8f1355cd0ee7ccd963fbba2c345b90
Author: Qin Wan <rogerwq@gmail.com>
Date:   Sun Dec 7 07:52:10 2025 +0000

    merge main Squashed commit of the following:

    commit 0c39872135cc207fdcdba0c9e58def4d24ab6924
    Author: Qin WAN <rogerwq@gmail.com>
    Date:   Fri Nov 21 17:33:12 2025 +0900

        Doc/get started (#55)

        * first version

        * fix: update Complete Example structure

        * fix: update dependency chain

        * fix: udpate dep chain again

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

    commit c38d236a2cb36881090aa065c4b3c2811b25f958
    Author: Qin Wan <rogerwq@gmai.com>
    Date:   Tue Nov 18 14:01:33 2025 +0000

        v0.3.6
        Squashed commit of the following:

        commit 6257716e5879ccfd8a1462bc8fe917b547e5ecf1
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Nov 18 22:57:02 2025 +0900

            Feature/v036 (#53)

            * feat: global params (by claude)

            * fix: global params merged

            * fix: update help hint

            * feat: open file explorer (by claude)

            * fix: remove print! eprint!

            * fix: change docker status bar from job status to workflow path

            * fix: cargo clippy

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit 5b0082885078fa0af204ae1644115bf7496fdcfb
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Nov 18 12:47:43 2025 +0900

            Feature/v035 support windows (#51)

            * fix: add "where" for windows

            * fix: replace path.join as it is OS dependent

            * fix: update path for ./run.sh

            * fix: Windows CRLF line endings

            * add: update changelog v0.3.5

            * add: update change v0.3.4 (forgotten)

            * fix: cargo fmt

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>
            Co-authored-by: Qin Wan <rogerwq@gmai.com>

        commit 2671b04b35cc178d962f24b4740f9a90b29931ca
        Author: Qin Wan <rogerwq@gmai.com>
        Date:   Mon Nov 17 23:44:45 2025 +0000

            from main - Squashed commit of the following:

            commit d137ffe9e0483e078be5b1d291689a0d4377e464
            Author: Qin Wan <rogerwq@gmai.com>
            Date:   Mon Nov 17 22:38:40 2025 +0000

                fix: cargo fmt for v0.3.4

            commit c36fd9532cb19bb6f3cd38d3c921ad6d9c9ddbd0
            Author: Qin Wan <rogerwq@gmai.com>
            Date:   Mon Nov 17 22:34:44 2025 +0000

                version v0.3.4

            commit 0a190eeeb8c044dd3569e1a55b616b1a686eb17d
            Author: Qin WAN <rogerwq@gmail.com>
            Date:   Mon Nov 10 11:20:09 2025 +0900

                version 0.3.3 (#47)

                * V0.3.0 (#36)

                * 28 quick installation by script (#30)

                * fix: update RELEASE.md

                * fix: code research-silva to silva

                * fix: remove research-

                * fix: update version

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * 32 env variables (#33)

                * fix: update README.md

                * fix: workflow home dir env var

                * fix: update README for workflow usage

                * fix: implementing workflow folder as working dir

                * fix: workflow folder binds to workspace

                ---------

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>
                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * load app json from url (#34)

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * fix: move workflow-001

                * fix: ready to release

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>
                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * fix: cargo fmt

                * V0.3.0 hotfix win (#38)

                * fix: install.ps1

                * fix: On Windows, crossterm fires keyboard events for both key press and
                key release, causing the double registration. The fix is to filter for
                only KeyEventKind::Press events.

                * fix: windows emoji

                * fix: windows emoji

                * fix: CPU usage format 2.1f

                * update: CHANGELOG

                ---------

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * 40 v032 (#43)

                * 41 fix build image (#42)

                * add: fix build_image

                * fix: disable stop and remove containers

                * fix: do not rebuild existing images

                * change: CHANGELOG

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * ready to merge

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * 45 v033 inputs output files in jobtoml (#46)

                * fix: remove workflow folder

                * first implementation by claude

                * fix: update collect_outputs script, remove "set -e"

                * ft: reuse started containers

                * fix: copy folders as input

                * fix: clippy warnings

                * refactor: make job_config as a seperate crate for publish

                * fix: delete the old src/ folder

                * fix: update github workflows

                * fix: update CHANGELOG

                ---------

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * fix: cargo fmt

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>
                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit 0b80e6dc5e2542926358b9e016df3590f767acc9
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Nov 18 07:24:42 2025 +0900

            48 featurev034 support parameters (#49)

            * first implmentation + license change

            * fix: deserialize from array

            * fix: error in examples/docker_executor.rs

            * fix: remove legacy consideration

            * add: impl by claude

            * fix: change run key from 'r' to 'Enter'

            * fix: add env vars at exec cmd not container

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit cee035ae11824dcee5a7435c06eafad5a6ad9909
        Author: RongjunG <rongjungao0812@gmail.com>
        Date:   Mon Nov 10 02:15:05 2025 +0000

            fix: cargo fmt

        commit 846c26caf00bea8a66a064ad97d81260985f3238
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Mon Nov 10 11:09:42 2025 +0900

            45 v033 inputs output files in jobtoml (#46)

            * fix: remove workflow folder

            * first implementation by claude

            * fix: update collect_outputs script, remove "set -e"

            * ft: reuse started containers

            * fix: copy folders as input

            * fix: clippy warnings

            * refactor: make job_config as a seperate crate for publish

            * fix: delete the old src/ folder

            * fix: update github workflows

            * fix: update CHANGELOG

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit c67e4d27e8aea25e90923dd563b6ab2177386419
        Merge: 56cf84a ede886b
        Author: Qin Wan <rogerwq@gmai.com>
        Date:   Mon Nov 3 08:19:45 2025 +0000

            Merge branch 'main' into dev

        commit 56cf84a4df6624caeed0634fea0802fb04cac572
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Mon Nov 3 17:10:51 2025 +0900

            40 v032 (#43)

            * 41 fix build image (#42)

            * add: fix build_image

            * fix: disable stop and remove containers

            * fix: do not rebuild existing images

            * change: CHANGELOG

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>

            * ready to merge

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>

        commit d2aeb2616aec4f27f3d99bde0ce5ea25a38df5f3
        Merge: bf6c66d 1e29fa4
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Oct 21 11:14:49 2025 +0900

            Merge branch 'main' into dev

        commit bf6c66d45d04b2d9d9da0de2417b13f1696d3d9e
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Oct 21 11:13:03 2025 +0900

            V0.3.0 hotfix win (#38)

            * fix: install.ps1

            * fix: On Windows, crossterm fires keyboard events for both key press and
            key release, causing the double registration. The fix is to filter for
            only KeyEventKind::Press events.

            * fix: windows emoji

            * fix: windows emoji

            * fix: CPU usage format 2.1f

            * update: CHANGELOG

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit 916321efd9bab8437a6003a9b32235bf0da9b001
        Author: Qin Wan <rogerwq@gmai.com>
        Date:   Sun Oct 19 09:56:53 2025 +0000

            fix: cargo fmt

        commit be1f75b95835fde365702a96e3470740cbefe4b3
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Sun Oct 19 18:51:42 2025 +0900

            V0.3.0 (#36)

            * 28 quick installation by script (#30)

            * fix: update RELEASE.md

            * fix: code research-silva to silva

            * fix: remove research-

            * fix: update version

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>

            * 32 env variables (#33)

            * fix: update README.md

            * fix: workflow home dir env var

            * fix: update README for workflow usage

            * fix: implementing workflow folder as working dir

            * fix: workflow folder binds to workspace

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>
            Co-authored-by: Qin Wan <rogerwq@gmai.com>

            * load app json from url (#34)

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

            * fix: move workflow-001

            * fix: ready to release

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>
            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

    commit 7eb8aaef98d7df63020da4a9ae672cac87610e17
    Author: Qin Wan <rogerwq@gmai.com>
    Date:   Tue Nov 18 04:01:38 2025 +0000

        Squashed commit of the following:

        commit 5b0082885078fa0af204ae1644115bf7496fdcfb
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Nov 18 12:47:43 2025 +0900

            Feature/v035 support windows (#51)

            * fix: add "where" for windows

            * fix: replace path.join as it is OS dependent

            * fix: update path for ./run.sh

            * fix: Windows CRLF line endings

            * add: update changelog v0.3.5

            * add: update change v0.3.4 (forgotten)

            * fix: cargo fmt

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>
            Co-authored-by: Qin Wan <rogerwq@gmai.com>

        commit 2671b04b35cc178d962f24b4740f9a90b29931ca
        Author: Qin Wan <rogerwq@gmai.com>
        Date:   Mon Nov 17 23:44:45 2025 +0000

            from main - Squashed commit of the following:

            commit d137ffe9e0483e078be5b1d291689a0d4377e464
            Author: Qin Wan <rogerwq@gmai.com>
            Date:   Mon Nov 17 22:38:40 2025 +0000

                fix: cargo fmt for v0.3.4

            commit c36fd9532cb19bb6f3cd38d3c921ad6d9c9ddbd0
            Author: Qin Wan <rogerwq@gmai.com>
            Date:   Mon Nov 17 22:34:44 2025 +0000

                version v0.3.4

            commit 0a190eeeb8c044dd3569e1a55b616b1a686eb17d
            Author: Qin WAN <rogerwq@gmail.com>
            Date:   Mon Nov 10 11:20:09 2025 +0900

                version 0.3.3 (#47)

                * V0.3.0 (#36)

                * 28 quick installation by script (#30)

                * fix: update RELEASE.md

                * fix: code research-silva to silva

                * fix: remove research-

                * fix: update version

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * 32 env variables (#33)

                * fix: update README.md

                * fix: workflow home dir env var

                * fix: update README for workflow usage

                * fix: implementing workflow folder as working dir

                * fix: workflow folder binds to workspace

                ---------

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>
                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * load app json from url (#34)

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * fix: move workflow-001

                * fix: ready to release

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>
                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * fix: cargo fmt

                * V0.3.0 hotfix win (#38)

                * fix: install.ps1

                * fix: On Windows, crossterm fires keyboard events for both key press and
                key release, causing the double registration. The fix is to filter for
                only KeyEventKind::Press events.

                * fix: windows emoji

                * fix: windows emoji

                * fix: CPU usage format 2.1f

                * update: CHANGELOG

                ---------

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * 40 v032 (#43)

                * 41 fix build image (#42)

                * add: fix build_image

                * fix: disable stop and remove containers

                * fix: do not rebuild existing images

                * change: CHANGELOG

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * ready to merge

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>

                * 45 v033 inputs output files in jobtoml (#46)

                * fix: remove workflow folder

                * first implementation by claude

                * fix: update collect_outputs script, remove "set -e"

                * ft: reuse started containers

                * fix: copy folders as input

                * fix: clippy warnings

                * refactor: make job_config as a seperate crate for publish

                * fix: delete the old src/ folder

                * fix: update github workflows

                * fix: update CHANGELOG

                ---------

                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

                * fix: cargo fmt

                ---------

                Co-authored-by: Qin Wan <rogerwq@gmai.com>
                Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit 0b80e6dc5e2542926358b9e016df3590f767acc9
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Nov 18 07:24:42 2025 +0900

            48 featurev034 support parameters (#49)

            * first implmentation + license change

            * fix: deserialize from array

            * fix: error in examples/docker_executor.rs

            * fix: remove legacy consideration

            * add: impl by claude

            * fix: change run key from 'r' to 'Enter'

            * fix: add env vars at exec cmd not container

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit cee035ae11824dcee5a7435c06eafad5a6ad9909
        Author: RongjunG <rongjungao0812@gmail.com>
        Date:   Mon Nov 10 02:15:05 2025 +0000

            fix: cargo fmt

        commit 846c26caf00bea8a66a064ad97d81260985f3238
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Mon Nov 10 11:09:42 2025 +0900

            45 v033 inputs output files in jobtoml (#46)

            * fix: remove workflow folder

            * first implementation by claude

            * fix: update collect_outputs script, remove "set -e"

            * ft: reuse started containers

            * fix: copy folders as input

            * fix: clippy warnings

            * refactor: make job_config as a seperate crate for publish

            * fix: delete the old src/ folder

            * fix: update github workflows

            * fix: update CHANGELOG

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit c67e4d27e8aea25e90923dd563b6ab2177386419
        Merge: 56cf84a ede886b
        Author: Qin Wan <rogerwq@gmai.com>
        Date:   Mon Nov 3 08:19:45 2025 +0000

            Merge branch 'main' into dev

        commit 56cf84a4df6624caeed0634fea0802fb04cac572
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Mon Nov 3 17:10:51 2025 +0900

            40 v032 (#43)

            * 41 fix build image (#42)

            * add: fix build_image

            * fix: disable stop and remove containers

            * fix: do not rebuild existing images

            * change: CHANGELOG

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>

            * ready to merge

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>

        commit d2aeb2616aec4f27f3d99bde0ce5ea25a38df5f3
        Merge: bf6c66d 1e29fa4
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Oct 21 11:14:49 2025 +0900

            Merge branch 'main' into dev

        commit bf6c66d45d04b2d9d9da0de2417b13f1696d3d9e
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Tue Oct 21 11:13:03 2025 +0900

            V0.3.0 hotfix win (#38)

            * fix: install.ps1

            * fix: On Windows, crossterm fires keyboard events for both key press and
            key release, causing the double registration. The fix is to filter for
            only KeyEventKind::Press events.

            * fix: windows emoji

            * fix: windows emoji

            * fix: CPU usage format 2.1f

            * update: CHANGELOG

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        commit 916321efd9bab8437a6003a9b32235bf0da9b001
        Author: Qin Wan <rogerwq@gmai.com>
        Date:   Sun Oct 19 09:56:53 2025 +0000

            fix: cargo fmt

        commit be1f75b95835fde365702a96e3470740cbefe4b3
        Author: Qin WAN <rogerwq@gmail.com>
        Date:   Sun Oct 19 18:51:42 2025 +0900

            V0.3.0 (#36)

            * 28 quick installation by script (#30)

            * fix: update RELEASE.md

            * fix: code research-silva to silva

            * fix: remove research-

            * fix: update version

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>

            * 32 env variables (#33)

            * fix: update README.md

            * fix: workflow home dir env var

            * fix: update README for workflow usage

            * fix: implementing workflow folder as working dir

            * fix: workflow folder binds to workspace

            ---------

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>
            Co-authored-by: Qin Wan <rogerwq@gmai.com>

            * load app json from url (#34)

            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

            * fix: move workflow-001

            * fix: ready to release

            ---------

            Co-authored-by: Qin Wan <rogerwq@gmai.com>
            Co-authored-by: RongjunG <rongjungao0812@gmail.com>

    commit d137ffe9e0483e078be5b1d291689a0d4377e464
    Author: Qin Wan <rogerwq@gmai.com>
    Date:   Mon Nov 17 22:38:40 2025 +0000

        fix: cargo fmt for v0.3.4

    commit c36fd9532cb19bb6f3cd38d3c921ad6d9c9ddbd0
    Author: Qin Wan <rogerwq@gmai.com>
    Date:   Mon Nov 17 22:34:44 2025 +0000

        version v0.3.4

    commit 0a190eeeb8c044dd3569e1a55b616b1a686eb17d
    Author: Qin WAN <rogerwq@gmail.com>
    Date:   Mon Nov 10 11:20:09 2025 +0900

        version 0.3.3 (#47)

        * V0.3.0 (#36)

        * 28 quick installation by script (#30)

        * fix: update RELEASE.md

        * fix: code research-silva to silva

        * fix: remove research-

        * fix: update version

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * 32 env variables (#33)

        * fix: update README.md

        * fix: workflow home dir env var

        * fix: update README for workflow usage

        * fix: implementing workflow folder as working dir

        * fix: workflow folder binds to workspace

        ---------

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>
        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * load app json from url (#34)

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * fix: move workflow-001

        * fix: ready to release

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>
        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * fix: cargo fmt

        * V0.3.0 hotfix win (#38)

        * fix: install.ps1

        * fix: On Windows, crossterm fires keyboard events for both key press and
        key release, causing the double registration. The fix is to filter for
        only KeyEventKind::Press events.

        * fix: windows emoji

        * fix: windows emoji

        * fix: CPU usage format 2.1f

        * update: CHANGELOG

        ---------

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * 40 v032 (#43)

        * 41 fix build image (#42)

        * add: fix build_image

        * fix: disable stop and remove containers

        * fix: do not rebuild existing images

        * change: CHANGELOG

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * ready to merge

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * 45 v033 inputs output files in jobtoml (#46)

        * fix: remove workflow folder

        * first implementation by claude

        * fix: update collect_outputs script, remove "set -e"

        * ft: reuse started containers

        * fix: copy folders as input

        * fix: clippy warnings

        * refactor: make job_config as a seperate crate for publish

        * fix: delete the old src/ folder

        * fix: update github workflows

        * fix: update CHANGELOG

        ---------

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * fix: cargo fmt

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>
        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

commit 76de869a9499a53073af6facf580d1fd6c4c92f6
Author: Qin Wan <rogerwq@gmai.com>
Date:   Tue Nov 18 14:12:25 2025 +0000

    fix: if collapse

commit 6257716e5879ccfd8a1462bc8fe917b547e5ecf1
Author: Qin WAN <rogerwq@gmail.com>
Date:   Tue Nov 18 22:57:02 2025 +0900

    Feature/v036 (#53)

    * feat: global params (by claude)

    * fix: global params merged

    * fix: update help hint

    * feat: open file explorer (by claude)

    * fix: remove print! eprint!

    * fix: change docker status bar from job status to workflow path

    * fix: cargo clippy

    ---------

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>

commit 5b0082885078fa0af204ae1644115bf7496fdcfb
Author: Qin WAN <rogerwq@gmail.com>
Date:   Tue Nov 18 12:47:43 2025 +0900

    Feature/v035 support windows (#51)

    * fix: add "where" for windows

    * fix: replace path.join as it is OS dependent

    * fix: update path for ./run.sh

    * fix: Windows CRLF line endings

    * add: update changelog v0.3.5

    * add: update change v0.3.4 (forgotten)

    * fix: cargo fmt

    ---------

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>
    Co-authored-by: Qin Wan <rogerwq@gmai.com>

commit 2671b04b35cc178d962f24b4740f9a90b29931ca
Author: Qin Wan <rogerwq@gmai.com>
Date:   Mon Nov 17 23:44:45 2025 +0000

    from main - Squashed commit of the following:

    commit d137ffe9e0483e078be5b1d291689a0d4377e464
    Author: Qin Wan <rogerwq@gmai.com>
    Date:   Mon Nov 17 22:38:40 2025 +0000

        fix: cargo fmt for v0.3.4

    commit c36fd9532cb19bb6f3cd38d3c921ad6d9c9ddbd0
    Author: Qin Wan <rogerwq@gmai.com>
    Date:   Mon Nov 17 22:34:44 2025 +0000

        version v0.3.4

    commit 0a190eeeb8c044dd3569e1a55b616b1a686eb17d
    Author: Qin WAN <rogerwq@gmail.com>
    Date:   Mon Nov 10 11:20:09 2025 +0900

        version 0.3.3 (#47)

        * V0.3.0 (#36)

        * 28 quick installation by script (#30)

        * fix: update RELEASE.md

        * fix: code research-silva to silva

        * fix: remove research-

        * fix: update version

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * 32 env variables (#33)

        * fix: update README.md

        * fix: workflow home dir env var

        * fix: update README for workflow usage

        * fix: implementing workflow folder as working dir

        * fix: workflow folder binds to workspace

        ---------

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>
        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * load app json from url (#34)

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * fix: move workflow-001

        * fix: ready to release

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>
        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * fix: cargo fmt

        * V0.3.0 hotfix win (#38)

        * fix: install.ps1

        * fix: On Windows, crossterm fires keyboard events for both key press and
        key release, causing the double registration. The fix is to filter for
        only KeyEventKind::Press events.

        * fix: windows emoji

        * fix: windows emoji

        * fix: CPU usage format 2.1f

        * update: CHANGELOG

        ---------

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * 40 v032 (#43)

        * 41 fix build image (#42)

        * add: fix build_image

        * fix: disable stop and remove containers

        * fix: do not rebuild existing images

        * change: CHANGELOG

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * ready to merge

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>

        * 45 v033 inputs output files in jobtoml (#46)

        * fix: remove workflow folder

        * first implementation by claude

        * fix: update collect_outputs script, remove "set -e"

        * ft: reuse started containers

        * fix: copy folders as input

        * fix: clippy warnings

        * refactor: make job_config as a seperate crate for publish

        * fix: delete the old src/ folder

        * fix: update github workflows

        * fix: update CHANGELOG

        ---------

        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

        * fix: cargo fmt

        ---------

        Co-authored-by: Qin Wan <rogerwq@gmai.com>
        Co-authored-by: RongjunG <rongjungao0812@gmail.com>

commit 0b80e6dc5e2542926358b9e016df3590f767acc9
Author: Qin WAN <rogerwq@gmail.com>
Date:   Tue Nov 18 07:24:42 2025 +0900

    48 featurev034 support parameters (#49)

    * first implmentation + license change

    * fix: deserialize from array

    * fix: error in examples/docker_executor.rs

    * fix: remove legacy consideration

    * add: impl by claude

    * fix: change run key from 'r' to 'Enter'

    * fix: add env vars at exec cmd not container

    ---------

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>

commit cee035ae11824dcee5a7435c06eafad5a6ad9909
Author: RongjunG <rongjungao0812@gmail.com>
Date:   Mon Nov 10 02:15:05 2025 +0000

    fix: cargo fmt

commit 846c26caf00bea8a66a064ad97d81260985f3238
Author: Qin WAN <rogerwq@gmail.com>
Date:   Mon Nov 10 11:09:42 2025 +0900

    45 v033 inputs output files in jobtoml (#46)

    * fix: remove workflow folder

    * first implementation by claude

    * fix: update collect_outputs script, remove "set -e"

    * ft: reuse started containers

    * fix: copy folders as input

    * fix: clippy warnings

    * refactor: make job_config as a seperate crate for publish

    * fix: delete the old src/ folder

    * fix: update github workflows

    * fix: update CHANGELOG

    ---------

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>

commit c67e4d27e8aea25e90923dd563b6ab2177386419
Merge: 56cf84a ede886b
Author: Qin Wan <rogerwq@gmai.com>
Date:   Mon Nov 3 08:19:45 2025 +0000

    Merge branch 'main' into dev

commit 56cf84a4df6624caeed0634fea0802fb04cac572
Author: Qin WAN <rogerwq@gmail.com>
Date:   Mon Nov 3 17:10:51 2025 +0900

    40 v032 (#43)

    * 41 fix build image (#42)

    * add: fix build_image

    * fix: disable stop and remove containers

    * fix: do not rebuild existing images

    * change: CHANGELOG

    ---------

    Co-authored-by: Qin Wan <rogerwq@gmai.com>

    * ready to merge

    ---------

    Co-authored-by: Qin Wan <rogerwq@gmai.com>

commit d2aeb2616aec4f27f3d99bde0ce5ea25a38df5f3
Merge: bf6c66d 1e29fa4
Author: Qin WAN <rogerwq@gmail.com>
Date:   Tue Oct 21 11:14:49 2025 +0900

    Merge branch 'main' into dev

commit bf6c66d45d04b2d9d9da0de2417b13f1696d3d9e
Author: Qin WAN <rogerwq@gmail.com>
Date:   Tue Oct 21 11:13:03 2025 +0900

    V0.3.0 hotfix win (#38)

    * fix: install.ps1

    * fix: On Windows, crossterm fires keyboard events for both key press and
    key release, causing the double registration. The fix is to filter for
    only KeyEventKind::Press events.

    * fix: windows emoji

    * fix: windows emoji

    * fix: CPU usage format 2.1f

    * update: CHANGELOG

    ---------

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>

commit 916321efd9bab8437a6003a9b32235bf0da9b001
Author: Qin Wan <rogerwq@gmai.com>
Date:   Sun Oct 19 09:56:53 2025 +0000

    fix: cargo fmt

commit be1f75b95835fde365702a96e3470740cbefe4b3
Author: Qin WAN <rogerwq@gmail.com>
Date:   Sun Oct 19 18:51:42 2025 +0900

    V0.3.0 (#36)

    * 28 quick installation by script (#30)

    * fix: update RELEASE.md

    * fix: code research-silva to silva

    * fix: remove research-

    * fix: update version

    ---------

    Co-authored-by: Qin Wan <rogerwq@gmai.com>

    * 32 env variables (#33)

    * fix: update README.md

    * fix: workflow home dir env var

    * fix: update README for workflow usage

    * fix: implementing workflow folder as working dir

    * fix: workflow folder binds to workspace

    ---------

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>
    Co-authored-by: Qin Wan <rogerwq@gmai.com>

    * load app json from url (#34)

    Co-authored-by: RongjunG <rongjungao0812@gmail.com>

    * fix: move workflow-001

    * fix: ready to release

    ---------

    Co-authored-by: Qin Wan <rogerwq@gmai.com>
    Co-authored-by: RongjunG <rongjungao0812@gmail.com>