From dce850395067160a96bffd8e81259a3e1d681bca Mon Sep 17 00:00:00 2001 From: JKRT_AGENTIC_ACCOUNT Date: Thu, 24 Sep 2026 10:29:03 +0200 Subject: [PATCH 1/5] 1.13: defaultInputAttr/defaultOutputAttr, ImmutableList 0.4 compat (v1.2.0) (#2) * Allow ImmutableList 0.4 ImmutableList is now 0.4.x; the API used here is unchanged. Co-Authored-By: JKRT Co-Authored-By: Claude Opus 5.5 (1M context) * Write the copyright year as 2026 Replace the CurrentYear placeholder in the license header. Co-Authored-By: JKRT Co-Authored-By: Claude Opus 5.5 (1M context) * Add defaultInputAttr and defaultOutputAttr Default attributes for input and output variables, next to defaultParamAttr and defaultConstAttr. Co-Authored-By: JKRT Co-Authored-By: Claude Opus 5.5 (1M context) * Version 1.2.0 New exported constants defaultInputAttr and defaultOutputAttr. Co-Authored-By: JKRT Co-Authored-By: Claude Opus 5.5 (1M context) --------- Co-authored-by: SVAGEN26 <247156613+SVAGEN26@users.noreply.github.com> Co-authored-by: JKRT Co-authored-by: Claude Opus 5.5 (1M context) --- LICENSE.md | 2 +- Project.toml | 4 ++-- src/SCode.jl | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 6aa1d87..73c3fa9 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -3,7 +3,7 @@ /* * This file is part of OpenModelica. * - * Copyright (c) 1998-CurrentYear, Open Source Modelica Consortium (OSMC), + * Copyright (c) 1998-2026, Open Source Modelica Consortium (OSMC), * c/o Linköpings universitet, Department of Computer and Information Science, * SE-58183 Linköping, Sweden. * diff --git a/Project.toml b/Project.toml index 7c8961d..7444abf 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SCode" uuid = "350d45b0-c210-11e9-3b9e-fdad65bb3d46" authors = ["johti "] -version = "1.1.1" +version = "1.2.0" [deps] Absyn = "ce2f92e2-a952-11e9-0543-8b443f216f1d" @@ -11,6 +11,6 @@ MetaModelica = "9d7f2a79-07b5-5542-8b19-c0100dda6b06" [compat] Absyn = "1.3" -ImmutableList = "0.3" +ImmutableList = "0.3, 0.4" MetaModelica = "0" julia = "1.12" diff --git a/src/SCode.jl b/src/SCode.jl index 7af58f1..ebdadbd 100644 --- a/src/SCode.jl +++ b/src/SCode.jl @@ -726,6 +726,10 @@ const defaultParamAttr = ATTR(list(), POTENTIAL(), NON_PARALLEL(), PARAM(), Absy const defaultConstAttr = ATTR(list(), POTENTIAL(), NON_PARALLEL(), CONST(), Absyn.BIDIR(), Absyn.NONFIELD(), false)::Attributes +const defaultInputAttr = ATTR(list(), POTENTIAL(), NON_PARALLEL(), VAR(), Absyn.INPUT(), Absyn.NONFIELD(), false)::Attributes + +const defaultOutputAttr = ATTR(list(), POTENTIAL(), NON_PARALLEL(), VAR(), Absyn.OUTPUT(), Absyn.NONFIELD(), false)::Attributes + #= So that we can use wildcard imports and named imports when they do occur. Not good Julia practice =# @exportAll() end From e5647cb31e049f7418de3abb500bc7353147847d Mon Sep 17 00:00:00 2001 From: JKRT Date: Thu, 24 Sep 2026 15:42:07 +0200 Subject: [PATCH 2/5] Test changes together with OM.jl .github/workflows/omjl.yml calls OM.jl's shared integration workflow (JKRT/OM.jl .github/workflows/omjl-ci.yml) on every pull request and on pushes to master and 1.13: this package's tests run against the other OM.jl packages at the matching branch (the PR branch if a sibling has it, else the PR base branch, else master), then OM.jl's test suite runs with it, on Julia 1.12 and 1.13. Assisted-by: Claude Opus 5.5 --- .github/workflows/omjl.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/omjl.yml diff --git a/.github/workflows/omjl.yml b/.github/workflows/omjl.yml new file mode 100644 index 0000000..a5547a7 --- /dev/null +++ b/.github/workflows/omjl.yml @@ -0,0 +1,26 @@ +name: OM.jl integration + +# Tests this package against the other OM.jl packages at the matching branch +# and runs OM.jl's test suite with it, on Julia 1.12 and 1.13, so that a change +# here cannot break OM.jl unnoticed. The workflow lives in JKRT/OM.jl: +# .github/workflows/omjl-ci.yml. +on: + pull_request: + push: + branches: [master, "1.13"] + workflow_dispatch: + +permissions: + contents: read + actions: write # julia-actions/cache deletes the caches it replaces + +concurrency: + group: omjl-${{ github.ref }} + # Superseded PR runs only; every push to master/1.13 is tested. + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + omjl: + uses: JKRT/OM.jl/.github/workflows/omjl-ci.yml@master + with: + package: SCode From e06e258300e984c77a5e54dbf3311ea2f0a69f67 Mon Sep 17 00:00:00 2001 From: JKRT Date: Wed, 30 Sep 2026 16:03:49 +0200 Subject: [PATCH 3/5] CI: the 1.13 line is tested on Julia 1.13 Pushes to 1.13 and pull requests into it run OM.jl's integration workflow on Julia 1.13 only; master keeps 1.12 and 1.13. Assisted-by: Claude Opus 5.5 --- .github/workflows/omjl.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/omjl.yml b/.github/workflows/omjl.yml index a5547a7..b09f805 100644 --- a/.github/workflows/omjl.yml +++ b/.github/workflows/omjl.yml @@ -24,3 +24,6 @@ jobs: uses: JKRT/OM.jl/.github/workflows/omjl-ci.yml@master with: package: SCode + # The 1.13 line (pushes to 1.13, pull requests into it) is tested on Julia 1.13; + # master on 1.12 and 1.13. + julia-versions: ${{ (github.ref_name == '1.13' || github.base_ref == '1.13') && '["1.13"]' || '["1.12", "1.13"]' }} From 9e584042189dc8ceaea81afc77541c03fb823d95 Mon Sep 17 00:00:00 2001 From: JKRT Date: Fri, 2 Oct 2026 15:36:07 +0200 Subject: [PATCH 4/5] Julia 1.13 only: compat and CI The OM.jl packages are verified on Julia 1.13 only (since 2026-09-28): compat julia = "1.13" (added where it was missing), and every workflow tests on 1.13. Assisted-by: Claude Opus 5.5 --- .github/workflows/omjl.yml | 6 ++---- Project.toml | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/omjl.yml b/.github/workflows/omjl.yml index b09f805..8a81d51 100644 --- a/.github/workflows/omjl.yml +++ b/.github/workflows/omjl.yml @@ -1,7 +1,7 @@ name: OM.jl integration # Tests this package against the other OM.jl packages at the matching branch -# and runs OM.jl's test suite with it, on Julia 1.12 and 1.13, so that a change +# and runs OM.jl's test suite with it, on Julia 1.13, so that a change # here cannot break OM.jl unnoticed. The workflow lives in JKRT/OM.jl: # .github/workflows/omjl-ci.yml. on: @@ -24,6 +24,4 @@ jobs: uses: JKRT/OM.jl/.github/workflows/omjl-ci.yml@master with: package: SCode - # The 1.13 line (pushes to 1.13, pull requests into it) is tested on Julia 1.13; - # master on 1.12 and 1.13. - julia-versions: ${{ (github.ref_name == '1.13' || github.base_ref == '1.13') && '["1.13"]' || '["1.12", "1.13"]' }} + julia-versions: '["1.13"]' # OM.jl's packages require Julia 1.13 diff --git a/Project.toml b/Project.toml index 7444abf..ebfae96 100644 --- a/Project.toml +++ b/Project.toml @@ -13,4 +13,4 @@ MetaModelica = "9d7f2a79-07b5-5542-8b19-c0100dda6b06" Absyn = "1.3" ImmutableList = "0.3, 0.4" MetaModelica = "0" -julia = "1.12" +julia = "1.13" From 846b7ee6c6c933d8658ba39501dfb843f993d06e Mon Sep 17 00:00:00 2001 From: JKRT Date: Fri, 2 Oct 2026 15:49:46 +0200 Subject: [PATCH 5/5] Project.toml for the 1.13 release: version and sibling compat One version per package for the release (bumped where the version was already registered in the OpenModelica registry), and every OM.jl sibling dependency bounded below by its release version: the packages are developed in lockstep, and the registry must not pair this version with an older sibling. Assisted-by: Claude Opus 5.5 --- Project.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index ebfae96..176b2f9 100644 --- a/Project.toml +++ b/Project.toml @@ -10,7 +10,7 @@ ImmutableList = "4a558cac-c1ed-11e9-20da-3584bcd8709a" MetaModelica = "9d7f2a79-07b5-5542-8b19-c0100dda6b06" [compat] -Absyn = "1.3" -ImmutableList = "0.3, 0.4" -MetaModelica = "0" +Absyn = "1.3.5" +ImmutableList = "0.4.2" +MetaModelica = "0.4.2" julia = "1.13"