Skip to content

chore(release): v2.0.0 - #1783

Open
plc-automated-release[bot] wants to merge 1 commit into
masterfrom
release/next
Open

plc-automated-release[bot] wants to merge 1 commit into
masterfrom
release/next

Conversation

@plc-automated-release

@plc-automated-release plc-automated-release Bot commented Jun 25, 2026 •

Copy link
Copy Markdown
Contributor

Release v2.0.0

Bumps all workspace packages from v1.1.0-dev → v2.0.0.

Review the updated CHANGELOG.md for a full list of changes.


Merge this PR to trigger tagging and GitHub release creation.

@github-actions

github-actions Bot commented Jun 25, 2026 •

Copy link
Copy Markdown

Release Preview

This is the GitHub release that would be published if this PR were merged now.

  • Title: RuSTy PLC Compiler 2.0.0
  • Tag: v2.0.0
  • Previous tag: v1.0.0
Rendered release

RuSTy PLC Compiler 2.0.0

This release publishes v2.0.0.

Below is the changelog since v1.0.0.

2.0.0 - 2026-10-01

Added

Fixed

Refactored

Documentation

Expected release assets

Assets are uploaded asynchronously from the post-merge Build Linux and Build Windows runs on master.

  • plc-linux-x86_64
  • plc-linux-aarch64
  • plc.exe
  • plc-compiler_2.0.0-1_amd64.deb
  • plc-compiler_2.0.0-1_arm64.deb
  • plc-stdlib_2.0.0-1_amd64.deb
  • plc-stdlib_2.0.0-1_arm64.deb
  • stdlib-2.0.0.tar.gz
  • iec61131std.dll
  • iec61131std.lib

Linux packages prefer the native build for each target architecture.

@github-actions

github-actions Bot commented Jun 25, 2026 •

Copy link
Copy Markdown

Build Artifacts

🐧 Linux

Artifact Link Size
plc-aarch64 Download 43.4 MB
plc-x86_64 Download 43.5 MB
deb-x86_64 Download 38.5 MB
stdlib Download 32.6 MB
schema Download 0.0 MB
deb-aarch64 Download 30.9 MB

From workflow run

🪟 Windows

Artifact Link Size
stdlib.dll Download 0.1 MB
stdlib.lib Download 4.0 MB
plc.exe Download 38.3 MB

From workflow run

@plc-automated-release
plc-automated-release Bot force-pushed the release/next branch 2 times, most recently from 7ec707d to 61ec38f Compare June 29, 2026 14:42
@plc-automated-release
plc-automated-release Bot force-pushed the release/next branch 9 times, most recently from 32c70d1 to ef12735 Compare July 16, 2026 09:10
@plc-automated-release
plc-automated-release Bot force-pushed the release/next branch 9 times, most recently from 17fdb7e to 50a647f Compare July 27, 2026 11:35
@plc-automated-release
plc-automated-release Bot force-pushed the release/next branch 3 times, most recently from a6b0c42 to 91e59ed Compare July 29, 2026 08:36
@plc-automated-release plc-automated-release Bot changed the title chore(release): v1.1.0 chore(release): v2.0.0 Jul 29, 2026
@github-actions

Copy link
Copy Markdown

1 finding in 5m 8s for $0.14 between 43b9e67 (master) and 5f1999a (release/next):

  • P3 CHANGELOG.md:78: The generated changelog now jumps from 2.0.0 directly to 1.0.0, deleting the existing 1.0.1 release entry even though tag v1.0.1 is present in the repository. This loses the release-specific history for users looking up that published version; retain the 1.0.1 section instead of folding its fix into 2.0.0.

@github-actions

Copy link
Copy Markdown

1 finding in 3m 29s for $0.10 between f216425 (master) and 33855ca (release/next):

  • P2 CHANGELOG.md:79: The release changelog drops the existing v1.0.1 section entirely, jumping from the new v2.0.0 section straight to v1.0.0. Since v1.0.1 is an already released tag, this removes its release-specific history from the canonical changelog; retain that section below v2.0.0.

@github-actions

Copy link
Copy Markdown

1 finding in 3m 9s for $0.10 between 1cdbb74 (master) and 04a30e8 (release/next):

@github-actions

Copy link
Copy Markdown

1 finding in 3m 0s for $0.09 between c4a01d3 (master) and a1498aa (release/next):

  • P2 CHANGELOG.md:5: The new 2.0.0 section replaces the existing 1.0.1 section instead of being added before it, so the changelog no longer documents the released v1.0.1 (including its release date and notes). Preserve the 1.0.1 section below the 2.0.0 notes.

@github-actions

Copy link
Copy Markdown

1 finding in 3m 46s for $0.12 between 44b84d6 (master) and b2e0e9b (release/next):

@github-actions

Copy link
Copy Markdown

1 finding in 3m 22s for $0.08 between 12d5d3a (master) and f28ce55 (release/next):

  • P2 CHANGELOG.md:83: The generated changelog drops the existing v1.0.1 release: after v2.0.0 it jumps directly to v1.0.0, even though v1.0.1 is a released tag and was documented before this change. Its fix is also repeated in the v2.0.0 list at line 71, so users get both an incorrect release attribution and no v1.0.1 history; preserve the prior section when adding the new release.

@github-actions

Copy link
Copy Markdown

1 finding in 2m 51s for $0.10 between e147785 (master) and f4d4d46 (release/next):

  • P3 CHANGELOG.md:84: The release update removes the existing v1.0.1 section and jumps from v2.0.0 to v1.0.0. Although the fix text is repeated under v2.0.0, the published v1.0.1 release and its date are no longer represented, so the changelog loses an entry from the release history; retain the v1.0.1 section below the new release.

@github-actions

Copy link
Copy Markdown

1 finding in 4m 36s for $0.14 between 931f4ef (master) and 404806d (release/next):

  • P3 CHANGELOG.md:5: This replaces the existing v1.0.1 section instead of adding v2.0.0 above it, so the released v1.0.1 notes and link disappear even though that tag remains available. Retain the prior release section below the new entry.

@github-actions

Copy link
Copy Markdown

1 finding in 3m 53s for $0.10 between e72bfbe (master) and dea3ac8 (release/next):

@github-actions

Copy link
Copy Markdown

2 findings in 5m 30s for $0.13 between bf5e6a1 (master) and f234de9 (release/next):

  • P2 book/user/building/compiling.md:102: The release bumps the compiler to 2.0.0, but the documented .comment sample still identifies plc version 1.1.0-dev; output from this branch no longer agrees with the example. Update the sample (including its date/hash) or label it explicitly as output from an older compiler.
  • P2 CHANGELOG.md:4:1: The new top section replaces the existing v1.0.1 release entry, so the published v1.0.1 link and its release notes disappear from the changelog; the hwmap fix is now attributed to v2.0.0 instead. Preserve the v1.0.1 section below v2.0.0 so the release history remains accurate.

@github-actions

Copy link
Copy Markdown

7 findings in 4m 5s for $0.31 between b69ea80 (master) and 846eaf3 (release/next):

  • P2 book/technical/pipeline/05-codegen.md:405: The codegen now deliberately maps OptimizationLevel::None to LLVM's Less level for the target machine, while keeping the IR pass pipeline at O0, but this says object-file optimizations always run at the chosen level. Clarify that none still uses the O1 backend (or otherwise update the statement) so the documented optimization behavior matches the compiler.
  • P2 book/user/building/compiling.md:102: The release bumps plc_driver's CARGO_PKG_VERSION to 2.0.0, which build.rs embeds in the plc version ... artifact metadata, but this example still prints plc version 1.1.0-dev. Update the sample version to 2.0.0 so the documented output matches the compiler.
  • P2 book/user/language/time.md:18: Long temporal literals outside their representable range are accepted with warning E148 (for example LDATE#2300-12-31 and LTIME#3000000d), as the current validator and the release notes specify; this sentence incorrectly says they are rejected. Change it to describe the warning/overflow behavior.
  • P2 book/user/language/variables.md:42: CONSTANT is no longer uniformly applied to every variable block: the parser accepts VAR_INPUT CONSTANT for compatibility but deliberately ignores it, while this sentence says every variable in a CONSTANT block becomes constant. Qualify the rule or explicitly note the VAR_INPUT no-op.
  • P2 book/user/reference/standard-library.md:50: The standard library now declares the added LTIME() extra function alongside TIME() (the generated extra_functions.st includes both), but this family entry documents only TIME(). Add LTIME() and its nanosecond-since-midnight behavior so the new library API is covered.
  • P2 book/user/reference/standard-library.md:50: The extra_functions.st row attributes <TYPE>_TO_STRING and STRING_TO_<TYPE> to the wrong declaration file: the compiler ships them in to_string_conversions.st and string_to_conversions.st, respectively. Correct the file references so users can locate the conversion APIs (and leave extra_functions.st for its actual helpers such as TRUNC, TIME, and LTIME).
  • P3 book/user/building/compiling.md:102: The release bumps the compiler package, and compiler/plc_driver/build.rs embeds CARGO_PKG_VERSION, but this artifact-identification example still reports plc version 1.1.0-dev. Readers will be given a stale version when the 2.0.0 compiler emits 2.0.0; update the example or make it version-neutral.

@github-actions

Copy link
Copy Markdown

11 findings in 8m 53s for $0.59 between ce96349 (master) and 871a26b (release/next):

  • P2 book/technical/participants/00-cfc.md:368: This rendering description is stale: CFC locations use the element's execution priority (the DWARF line), not its globalId, and diagnostics are rendered as file, diagram <name>, execution order <n>[, pin <n>], not file.cfc: Block 6. Update this paragraph and the matching user CFC diagnostic example.
  • P2 book/user/building/debugging.md:3: The release adds DWARF locations for CFC statements, but this debugging chapter documents only text source lines and never explains that a chart is represented by a <source>.<diagram> debug file with execution priorities as lines. Add the CFC mapping (and how to use it in a debugger) so users can actually use the new debug information.
  • P2 book/user/language/expressions.md:33: The compiler now validates unary NOT as valid for integer operands as well as BOOL and bit strings (E151 otherwise), but this section documents only the latter two categories. Add integer operands and an example or the documented language remains incomplete.
  • P2 book/user/language/time.md:18: Long temporal values outside the signed 64-bit representation are diagnosed with warning E148 (including LTIME, LDATE, LDT, and LTOD), not described simply as rejected. Replace the final sentence with the warning behavior.
  • P2 book/user/language/variables.md:42: The new parser accepts VAR_INPUT CONSTANT but deliberately gives it no constant semantics, so this blanket claim that every variable in a CONSTANT block becomes constant is false for inputs. Document the VAR_INPUT exception.
  • P2 book/user/reference/standard-library.md:52: The 2.0.0 standard library now declares the LTIME() extra function alongside TIME(), but this family table lists only TIME(). Add LTIME() and its nanosecond/long-time behavior so users can discover the new function.
  • P2 book/user/reference/standard-library.md:56: The standard library now provides BOOL_TO_STRING, SINT_TO_STRING, INT_TO_STRING, and WORD_TO_STRING (and the generic coverage includes them), but this paragraph says all four are absent and that calls fail at link time. Remove those names from the exception list and correct the conversion coverage.
  • P2 book/user/reference/standard-library.md:56: The same paragraph also overstates WSTRING coverage: the library has no BOOL_TO_WSTRING, SINT_TO_WSTRING, or INT_TO_WSTRING, not merely no unsigned-integer forms. Update the named-conversion lists while retaining the separate statement that generic TO_STRING monomorphizations for the small types are absent.
  • P2 CHANGELOG.md:5: Replacing the existing 1.0.1 heading with 2.0.0 drops the entire 1.0.1 release section, and its sole fix is now incorrectly attributed to 2.0.0. Preserve the v1.0.1 entry when adding the new release.
  • P3 book/user/building/compiling.md:102: The release changes the compiler package and embedded build-info version to 2.0.0, but this concrete .comment output still says plc version 1.1.0-dev. Update the example or mark it explicitly as historical/illustrative.
  • P3 Cargo.toml:3: The version bump changes the embedded compiler version, but book/user/building/compiling.md:102 still documents plc version 1.1.0-dev. The published documentation therefore shows output that this release cannot produce; update the example or mark it as historical.

@github-actions

Copy link
Copy Markdown

4 findings in 4m 14s for $0.44 between 4241b6e (master) and d5417c2 (release/next):

  • P1 book/user/reference/standard-library.md:56: The standard-library reference still says INT_TO_STRING, SINT_TO_STRING, WORD_TO_STRING, and BOOL_TO_STRING do not exist and will fail at link time. The 2.0.0 library declares these functions in libs/stdlib/iec61131-st/to_string_conversions.st, so remove them from the exception list (and update the supported-type description).
  • P2 book/user/building/compiling.md:59: The optimization section says the four modes map directly to LLVM -O0 through -O3, but the compiler now deliberately runs the target backend at -O1 (Less) even for none while keeping the IR pipeline at -O0. Clarify the split so users are not told that -Onone produces an entirely -O0 artifact.
  • P2 book/user/building/compiling.md:102: The compiler package is being released as 2.0.0, but the artifact-identification example still prints plc version 1.1.0-dev. Update the example to the 2.0.0 release output (and corresponding sample metadata) so the documented plc --version/.comment behavior matches this release.
  • P2 book/user/reference/standard-library.md:52: The Text output and input row points readers to extra_functions.st, but the declared <TYPE>_TO_STRING functions are in to_string_conversions.st and the STRING_TO_<TYPE> functions are in string_to_conversions.st. Correct the Declared in entry so users can locate the APIs that this 2.0.0 library exposes.

@github-actions

Copy link
Copy Markdown

2 findings in 3m 1s for $0.11 between 79adc76 (master) and 2679ccd (release/next):

  • P2 CHANGELOG.md:5: The v1.0.1 section is removed and its fix is relabeled under v2.0.0, so the changelog no longer records the already-published v1.0.1 release. Keep the existing v1.0.1 section and append the v2.0.0 section instead.
  • P3 compiler/plc_driver/Cargo.toml:3: Bumping the driver package to 2.0.0 changes the version emitted by plc --version and artifact metadata, but book/user/building/compiling.md:102 still documents plc version 1.1.0-dev. The user-facing example is now false for this release and should be updated.

@github-actions

Copy link
Copy Markdown

2 findings in 5m 18s for $0.14 between ab431f4 (master) and eb8f484 (release/next):

  • P2 book/user/building/compiling.md:102: The embedded .comment example still says plc version 1.1.0-dev, but this change sets the compiler package (and CARGO_PKG_VERSION used by the driver build script) to 2.0.0, so the documented output is wrong. Replace the sample version with 2.0.0.
  • P3 CHANGELOG.md:5:1: This release section replaces the existing v1.0.1 section instead of retaining it, so the changelog now omits the already-published v1.0.1 release and its fix notes even though the v1.0.1 tag exists. Preserve the previous release entry when adding v2.0.0.

@github-actions

Copy link
Copy Markdown

1 finding in 2m 31s for $0.12 between 80cc6c3 (master) and 81fd9f1 (release/next):

  • P2 book/user/building/compiling.md:102: The artifact example still says plc version 1.1.0-dev, but this change bumps the compiler package and embedded compiler version to 2.0.0; readers copying the documented output will see a version that cannot be produced by this release. Update the sample to the 2.0.0 release (or make the version explicitly illustrative).

@github-actions

Copy link
Copy Markdown

10 findings in 6m 25s for $0.51 between c12dcfb (master) and a157bcf (release/next):

  • P2 book/user/building/compiling.md:62: Unoptimized builds now keep the IR pipeline at O0 but run the backend at LLVM's -O1/Less level, while this section says the four options map directly to LLVM O0–O3. Clarify the special none backend level so the documented optimization behavior matches the release.
  • P2 book/user/building/compiling.md:102: The release changes the compiler/package version to 2.0.0, but the documented readelf output still says plc version 1.1.0-dev. Update the example version so the book matches the compiler released by this change.
  • P2 book/user/language/expressions.md:33: Unary NOT now accepts integer operands as well as BOOL and bit strings (and rejects other types), but the operator guide only documents the BOOL/bit-string cases. Add integers to this rule so the documented operand set matches the compiler.
  • P2 book/user/language/function-blocks.md:67: The release rejects reads and writes such as fbInstance.inOutVariable because a VAR_IN_OUT member is only bound during a call, but the function-block access section documents inputs, outputs, and private VAR members without stating this restriction. Add the VAR_IN_OUT rule (and point readers to passing it with := in the call).
  • P2 book/user/language/text.md:101: The standard-library string operations now define out-of-range behavior—LEFT/RIGHT clamp lengths, MID returns empty for an invalid position, and INSERT/DELETE/REPLACE leave the base unchanged for invalid positions or negative counts—yet the text chapter only gives nominal results. Document these rules here so callers are not left to infer the behavior of the newly changed functions.
  • P2 book/user/language/time.md:18: The new temporal-literal validation warns and wraps/out-of-range-checks overflowing long literals (LTIME, LDATE, LDT, and LTOD, E148), but this sentence says a long literal outside the range is rejected. Change it to describe the warning and resulting wrap/out-of-range behavior.
  • P2 book/user/language/variables.md:42: The release now accepts VAR_INPUT CONSTANT but deliberately ignores the CONSTANT modifier, so these parameters remain writable/by-value inputs. The statement that CONSTANT makes every variable in the block constant is therefore false for this documented declaration form; add the VAR_INPUT exception.
  • P2 book/user/reference/standard-library.md:57: The standard library now declares INT_TO_STRING, SINT_TO_STRING, WORD_TO_STRING, and BOOL_TO_STRING (and their implementations), but this paragraph still says they are absent and advises callers to widen the value before conversion. Replace the obsolete limitation with the current supported set.
  • P3 book/user/building/compiling.md:102: The release changes plc_driver's CARGO_PKG_VERSION to 2.0.0, which build.rs embeds in the .comment output, but this documented readelf result still says 1.1.0-dev. A user following the example on this branch will see a different version and be misled when verifying an artifact; refresh the sample output.
  • P3 CHANGELOG.md:5: This release heading replaces the existing [1.0.1] section instead of adding [2.0.0] before it, so the changelog no longer contains the notes for the published v1.0.1 tag. The previous release entry should be preserved below the new release section.

@github-actions

Copy link
Copy Markdown

7 findings in 5m 6s for $0.37 between f17338d (master) and ce0c61c (release/next):

  • P1 book/user/language/time.md:18: This says a long temporal literal outside the supported range is rejected, but the 2.0 release adds E148 warnings for out-of-range LTIME, LDATE, LDT, and LTOD literals and the compiler accepts them. Change the statement to describe the warning and resulting wrapped/runtime value instead of rejection.
  • P1 book/user/reference/standard-library.md:57: The reference still says INT_TO_STRING, SINT_TO_STRING, WORD_TO_STRING, and BOOL_TO_STRING do not exist, but the 2.0 standard library declares all four in to_string_conversions.st (and the changelog includes fixes to these conversion functions). Remove the obsolete exclusions and update the generic-conversion guidance so users are not told to widen values or expect a link failure.
  • P2 book/user/building/compiling.md:62: The optimization section describes none as LLVM -O0 across the build, but the 2.0 backend deliberately uses -Oless/-O1 for object generation while keeping the IR pass pipeline at -O0 (fix: run the backend at -Oless for unoptimized builds #1869). Document this distinction so users do not expect fully unoptimized machine code from -O none.
  • P2 book/user/building/compiling.md:102: The example still shows plc version 1.1.0-dev, but this change bumps the compiler and plc_driver package to 2.0.0, and build.rs embeds CARGO_PKG_VERSION in RUSTY_BUILD_INFO. Update the example to show plc version 2.0.0.
  • P2 book/user/language/expressions.md:33: The operator section limits NOT to BOOL and bit strings, but 2.0 explicitly validates and accepts integer operands (NOT is defined for a bit or integer). Add integer semantics and the rejection rule for other types so the language guide matches the fixed validator.
  • P2 CHANGELOG.md:13: The release adds the user-visible syntax VAR_INPUT CONSTANT and specifies that it is accepted as a no-op, but the language guide only documents CONSTANT blocks as making variables immutable and never explains this exception. Add the compatibility rule to the variables/functions or parser-language documentation so readers know that this declaration is accepted without constant semantics.
  • P2 CHANGELOG.md:42: The release changes LEFT/RIGHT/MID/INSERT/DELETE/REPLACE to clamp or safely handle out-of-range lengths and positions, but the text guide only says positions start at 1 and gives a valid example. Document the invalid-parameter results in book/user/language/text.md so callers know these operations do not fault or overflow.

@github-actions

Copy link
Copy Markdown

14 findings in 12m 9s for $0.68 between d2ce8d6 (master) and 4534319 (release/next):

  • P1 book/user/interop/c-interface.md:27: The C interface table says short date/time types are uint32_t and long types are int64_t, but the header generator currently emits time_t for every date/time type (type_helper_c.rs). A generated header therefore disagrees with this documented ABI; align the documentation and generator before release.
  • P1 book/user/reference/standard-library.md:58: This paragraph says INT_TO_STRING, SINT_TO_STRING, WORD_TO_STRING, and BOOL_TO_STRING do not exist and will fail at link time, but the current stdlib declares and implements all four. Remove those names from the missing-conversion list (and update the generic TO_STRING note if needed).
  • P2 book/user/building/compiling.md:62: -Onone now keeps LLVM's IR pass pipeline at O0 but deliberately runs the target backend at -Oless/O1, so it is not simply an all-backend -O0 build as this sentence says. Clarify the split (and the resulting limits of the “follows the source closely” debugging advice).
  • P2 book/user/building/compiling.md:102:19: This sample still shows plc version 1.1.0-dev, but the release changes the compiler package to 2.0.0 and build.rs embeds CARGO_PKG_VERSION in this line. The documented readelf/plc --version output is therefore wrong; update the sample to 2.0.0 (and matching metadata).
  • P2 book/user/building/debugging.md:2: CFC statements now carry their diagram/block locations into DWARF, but the debugging guide describes only text-file source locations and never explains how a CFC location is shown. Add the CFC mapping (diagram file and block/element ID) so users can locate a breakpoint or instruction in a graphical source.
  • P2 book/user/language/cfc.md:85: The documented CFC diagnostic location mixer.cfc: Block 6 does not match the compiler's SourceLocation format, which renders <file>.<diagram>:<evaluation-order> (and :<pin> when applicable), such as storage_numeric.cfc.storage_numeric:0. Update this example and the corresponding technical description.
  • P2 book/user/language/expressions.md:35: Unary NOT is valid for integer operands as well as BOOL and bit strings (the validator and code generator explicitly accept bit or integer), but the operator guide lists only the latter two categories. Document integer bitwise complement here (and in the repeated basic-types description) so valid code is not presented as unsupported.
  • P2 book/user/language/function-blocks.md:69: The outside-access section lists inputs, outputs, and plain VAR members but omits VAR_IN_OUT. The compiler now rejects reads/writes such as fb.inOutVariable := 1 outside the declaring POU (E037); explain that an in-out is valid only as a call argument while it is bound.
  • P2 book/user/language/text.md:3: String functions and text conversions now handle invalid UTF-8 and unpaired UTF-16 with U+FFFD replacements instead of failing, but the text guide never states this behavior. Add the lossy-decoding rule near the STRING/WSTRING encoding description.
  • P2 book/user/language/text.md:77: The standard string functions now define out-of-range lengths and positions defensively (lengths clamp, invalid positions return an empty/unchanged result as appropriate), but the text guide only says positions start at 1. Document these parameter rules so callers know what LEFT/MID/INSERT/DELETE/REPLACE do with invalid values.
  • P2 book/user/language/time.md:18: The compiler now accepts out-of-range long temporal literals and emits warning E148 (for example LTIME#3000000d and LDATE#2300-12-31), but this sentence says a long literal outside the range is rejected. Change it to describe the warning and resulting wrapped value.
  • P2 book/user/language/variables.md:42: The release accepts VAR_INPUT CONSTANT but deliberately ignores the modifier, whereas this sentence says CONSTANT makes every variable in its block constant. Qualify the rule to blocks where the modifier has semantics or document VAR_INPUT CONSTANT as a compatibility no-op.
  • P2 book/user/reference/standard-library.md:58: The same paragraph also misstates WSTRING coverage: the current stdlib provides WSTRING conversions for BYTE, DWORD, LWORD, DINT, LINT, REAL/LREAL, and date/time types, not simply the STRING set with unsigned integers removed. Replace the blanket coverage claim with the actual supported list.
  • P2 CHANGELOG.md:5: The new v2.0.0 heading replaces the existing v1.0.1 heading, so the v1.0.1 release section is removed even though that release/tag exists. This loses the historical release notes and folds its former fix into the v2.0.0 section; prepend the v2.0.0 section while retaining v1.0.1.

@github-actions

Copy link
Copy Markdown

2 findings in 3m 5s for $0.12 between 77e65e8 (master) and 5172cc4 (release/next):

  • P2 Cargo.toml:3: The compiler package is now version 2.0.0, and compiler/plc_driver/build.rs embeds CARGO_PKG_VERSION in the artifact's plc version line, but book/user/building/compiling.md:102 still shows 1.1.0-dev. Update the example (or make it version-neutral) so the book agrees with the released compiler.
  • P2 CHANGELOG.md:92:1: The release update deletes the existing [1.0.1] section, so the changelog now jumps from 2.0.0 directly to 1.0.0 even though v1.0.1 is a released tag. Users lose the historical 1.0.1 notes and link; preserve that section between the new release and 1.0.0.

@github-actions

Copy link
Copy Markdown

0 findings in 18s for $0.16 between 9413775 (master) and d943500 (release/next)

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

2 findings in 58s for $0.20 between f7d42e8 (master) and 196b561 (release/next):

  • P2 CHANGELOG.md:12: CFC debug locations are now emitted, but neither the CFC page nor the debug-information page explains that debugger stops map back to diagram elements. Document how CFC locations appear in debug information so users can interpret these stops.
  • P2 CHANGELOG.md:14: The new VAR_INPUT CONSTANT no-op behavior is undocumented, while user/language/variables.md says CONSTANT makes every variable in its block constant. Clarify there that this spelling is accepted on VAR_INPUT but has no effect.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

1 finding in 58s for $0.22 between f8e02a7 (master) and cf09867 (release/next):

  • P2 book/user/building/compiling.md:102: The artifact-identification example still says plc version 1.1.0-dev, but this change releases the compiler as 2.0.0. Update the sample version so it matches the current compiler release.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

0 findings in 51s for $0.23 between f40b477 (master) and 6301e62 (release/next)

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

2 findings in 1m 1s for $0.20 between 5adf03e (master) and e92e1fa (release/next):

  • P2 CHANGELOG.md:14: CONSTANT on VAR_INPUT is now accepted as a no-op, but the parameter-declaration guidance in book/user/language/functions.md never states this. Add the accepted syntax and clarify that it does not make the input constant, so readers know both what compiles and what semantics to expect.
  • P2 CHANGELOG.md:60: book/user/building/compiling.md says the four levels map directly to LLVM -O0 through -O3, but this change makes -Onone use -Oless for the backend while keeping the IR optimization pipeline at O0. Clarify that the backend is still optimized at the none level; otherwise users debugging generated code are given an inaccurate optimization contract.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

2 findings in 1m 23s for $0.26 between 86d284c (master) and b87e1c3 (release/next):

  • P2 book/user/building/debugging.md:3: The release adds diagram-element locations to CFC debug information, but this page never explains that debugger source locations can map to diagram elements. Documenting this behavior would tell CFC users what source-level debugging support is available.
  • P2 book/user/language/variables.md:42: The release accepts CONSTANT on VAR_INPUT as a no-op, but this sentence says CONSTANT always makes every variable in the block constant and assignments are rejected. Qualify the claim to exclude VAR_INPUT so it matches the compiler.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

1 finding in 47s for $0.16 between 10ead7b (master) and 538fc00 (release/next):

  • P2 CHANGELOG.md:15: book/user/language/variables.md says CONSTANT makes every variable in a block constant, but VAR_INPUT CONSTANT is now accepted as a no-op. Qualify that rule and document this exception so readers do not expect input parameters to become constants.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant