Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
185 commits
Select commit Hold shift + click to select a range
007f934
initial changes for C++ 20 support
wsobel Sep 18, 2025
13a045a
Fixed test issues where operator == rules changed in version 20
wsobel Sep 19, 2025
2234ee7
Windows changes for C++ 20
wsobel Sep 20, 2025
ebe752b
cleaned up tz handling
wsobel Sep 20, 2025
562d1c2
formatted
wsobel Sep 21, 2025
e1bd649
Changed globals test to utilities test
wsobel Sep 21, 2025
fe86af0
Changed copyright from 2009 to 2025
wsobel Sep 21, 2025
fb3297a
Made a few utility functions constexpr
wsobel Sep 22, 2025
4e46fe3
Fixed issues related to changes in spawn and sha1 processing
wsobel Sep 23, 2025
4913a74
Fixed mqtt adapter ids
wsobel Sep 24, 2025
47046e1
Porting to C++ 20 now complete, all tests pass on OS X
wsobel Sep 25, 2025
2f7cf10
Added forward
wsobel Sep 25, 2025
28a225c
Fixed get local time on windows.
wsobel Sep 25, 2025
6608bae
Version 2.6.0.3
wsobel Sep 28, 2025
53a9ad9
upgrading to windows latest
wsobel Oct 1, 2025
6f2adad
removed x86 build to see if that was an issue
wsobel Oct 1, 2025
ec7b3ca
removed x86 build to see if that was an issue
wsobel Oct 1, 2025
226985e
Added additional -d+2 for windows build for boost b2 options
wsobel Oct 1, 2025
dfc0358
Set windows build target to 0x0A00 (Windows 10)
wsobel Oct 3, 2025
d9812e9
Upgraded to the latest version of libraries
wsobel Oct 3, 2025
8b21f2a
Merge pull request #570 from mtconnect/migrate_to_cpp_version_20
wsobel Oct 3, 2025
25df43a
Reverted json api back in entity to v2.6.0.2
wsobel Oct 4, 2025
4f29585
added feature that publishes observations in a per-data-item topic st…
virajdere Oct 23, 2025
f162920
updated qos config and added tests with feature documentation
virajdere Oct 24, 2025
bb5953b
removed duplicate entry
virajdere Oct 24, 2025
31aa516
updated cmake for entity_sink to use /bigobj for windows
virajdere Oct 25, 2025
a8f5ba8
Changed copyright from 2009 to 2025
virajdere Oct 25, 2025
b674513
Added fatal excetion handling and graceful shutdown of the agent.
wsobel Oct 31, 2025
70f980f
Fixed tests to use FatalException
wsobel Oct 31, 2025
3b08812
Version 2.6.0.4
wsobel Oct 31, 2025
5873106
Version 2.6.0.4
wsobel Oct 31, 2025
c830c7b
Merge pull request #573 from mtconnect/572_agent_dynanic_device_creation
wsobel Nov 1, 2025
aedfff3
Fixed test issues
wsobel Nov 3, 2025
b7ab166
Added check to make sure unavailable check excludes conditions for va…
wsobel Nov 3, 2025
08caeea
Exclude the agent device as well
wsobel Nov 3, 2025
f877cdd
Merge branch 'main' into feature/mqtt-entity-sink
virajdere Nov 4, 2025
77ff518
Merge pull request #571 from virajdere/feature/mqtt-entity-sink
wsobel Nov 4, 2025
bb0aa35
Version 2.6.0.5
wsobel Nov 5, 2025
a0a763b
Fixed validation wrt samples
wsobel Nov 11, 2025
9712109
Added better logging and stream operator for a Entity Value
wsobel Nov 11, 2025
44f8dcb
Fixed typo an changed version to 2.6.0.6
wsobel Nov 11, 2025
aab0080
Merge pull request #576 from mtconnect/575_fix_quality_for_samples
wsobel Nov 11, 2025
19c658a
Conan build on alpine for m4 now requires bash. apk added bash
wsobel Nov 12, 2025
f51da8f
Fixed alpine build issues
wsobel Nov 14, 2025
4a2f162
Version 2.6.0.7
wsobel Nov 14, 2025
d7a983e
Added define for Windows to map from localtime_r to _s
wsobel Nov 14, 2025
22bacc6
Fixed issue in windows with inderterminism of mqtt entity test for to…
wsobel Nov 15, 2025
0d4bc9c
Fixed so that tests that were expecting the agent device would work
wsobel Nov 15, 2025
e5b316a
Update utilities.hpp
wsobel Nov 16, 2025
7e31c1b
Cleaned up handling of localtime_x
wsobel Nov 16, 2025
e2d0bce
Update mqtt_entity_sink_test.cpp
wsobel Nov 16, 2025
16d0862
Update utilities.hpp
wsobel Nov 16, 2025
e702b37
Update mqtt_entity_sink_test.cpp
wsobel Nov 16, 2025
cdc5986
Merge pull request #577 from mtconnect/fix_docker_build_issues_with_a…
wsobel Nov 16, 2025
8046666
Added target and tests
wsobel Nov 21, 2025
d1385e4
On branch main_websocket_fixes_3
dwickelhaus Nov 24, 2025
17e5267
Added initial process archetype asset tests
wsobel Nov 25, 2025
1ddd85f
Fixed json v2 printing of lists with attributes, no need for 'list' o…
wsobel Nov 26, 2025
dfeb8a0
Added process tests
wsobel Nov 26, 2025
b454c91
Initial version of part models and tests
wsobel Nov 26, 2025
260aaf1
Formatted
wsobel Nov 26, 2025
9b74c0b
Finished part and part archetype implementations
wsobel Dec 1, 2025
2f7b2dc
First version of task archetype test synced with model
wsobel Dec 3, 2025
b5fbe36
Added support for table values in the parser. Changed TargetRequireme…
wsobel Dec 4, 2025
12cfc74
Task archetype tests are complete
wsobel Dec 4, 2025
e1143ea
Added all tests for version 2.7
wsobel Dec 4, 2025
1f5b3a8
minor change
wsobel Dec 4, 2025
d931e32
Fixed tests that used to use fictitious Part asset. Part is now defin…
wsobel Dec 4, 2025
9ef9d23
Fixed copilot issues
wsobel Dec 4, 2025
f32fe1a
Updated the structure and content of readme
ayush2390 Dec 4, 2025
6acb744
Merge pull request #582 from mtconnect/581_add_2_7_asset_support
wsobel Dec 5, 2025
20e7531
Merge branch 'main' into main_websocket_fixes_3
dwickelhaus Dec 5, 2025
cfc4c10
Added some notes and made some corrections
wsobel Dec 5, 2025
246a4ab
Added note for quickstart
wsobel Dec 5, 2025
8bc3381
Merge branch 'main' into new-readme
wsobel Dec 5, 2025
dbb70de
Changed to the README to remove installation and reference the wiki.
wsobel Dec 8, 2025
0a0f407
Updated the wiki page and made some changes
Dec 11, 2025
937858c
Edited README and made a few corrections
wsobel Dec 12, 2025
7aa1243
Added version 2.7
wsobel Dec 12, 2025
4ce2bc2
Merge pull request #584 from mtconnect/new-readme
wsobel Dec 12, 2025
f231914
Merge branch 'main' into main_websocket_fixes_3
dwickelhaus Dec 15, 2025
888a48a
Updated validation information
wsobel Dec 16, 2025
7ffde54
Refactored websocket session for testing and added first websocket in…
wsobel Jan 2, 2026
3d9713a
Added json test
wsobel Jan 4, 2026
501c824
Added queue to includes
wsobel Jan 5, 2026
8db96c1
Added some simple tests and fixed some issues with the test framework
wsobel Jan 5, 2026
3bd5f49
Checkpoint with tests and asset additions
wsobel Jan 9, 2026
7abd581
Added more tests
wsobel Jan 9, 2026
c5b5d25
Added more tests
wsobel Jan 9, 2026
bcb786d
Finished websocket tests
wsobel Jan 10, 2026
ebb6ee2
Finished websocket tests
wsobel Jan 10, 2026
a82a116
Merge pull request #586 from mtconnect/main_websocket_fixes_3
wsobel Jan 10, 2026
fea93ba
Added unit test to check if japanese characters will pass through the…
wsobel Jan 10, 2026
aa39cca
Apply suggestion from @Copilot
wsobel Jan 10, 2026
fe047a2
Fixed assert order
wsobel Jan 10, 2026
11192a5
Version 2.7.0.2 RC2
wsobel Jan 10, 2026
2852bfd
Merge pull request #589 from mtconnect/588_japanese_character_test
wsobel Jan 10, 2026
83088db
Version 2.7.0.3
wsobel Feb 17, 2026
d9aedd7
Fixed alpine docker build issue by requiring conan to build all tools…
wsobel Feb 17, 2026
4f0fa29
Removed instance of strstream in winsock
wsobel Feb 18, 2026
69aa175
Added update for ubuntu build
wsobel Feb 18, 2026
3be2fb5
Updated mruby to 3.4
wsobel Feb 19, 2026
7686081
upgraded demo to 2.7
wsobel Feb 20, 2026
12b2164
Added schemas for 2.6 and 2.7 and fixed some of the XML entity genera…
wsobel Feb 23, 2026
b8e38bf
Version 2.7.0.4
wsobel Feb 23, 2026
82db1d3
Merge pull request #596 from mtconnect/fix_cxx20_deprecation_warnings
wsobel Feb 24, 2026
21e375b
Re-resolve hostname on connection failure for DHCP support
Feb 3, 2026
6968371
Fixed address parsing of string for shdr connector and upped version …
wsobel Feb 24, 2026
47bd14c
Changed max interval to 1 second for docker compose adapter
wsobel Feb 25, 2026
69c3234
Changed max interval to 1 second for docker compose adapter
wsobel Feb 25, 2026
2c46f9e
changed ubuntu docker image to use 24.04
wsobel Feb 25, 2026
5613820
Added break system packages to pip install conan for ubuntu 24.04
wsobel Feb 25, 2026
f84cccb
Fixed issue when endpoint can't be resolved
wsobel Feb 27, 2026
c225906
Merge pull request #597 from mtconnect/594_re-resolve_address_when_di…
wsobel Mar 23, 2026
1bfef08
Trying to trigger version
wsobel Mar 24, 2026
c3d8fe2
Added CORS OPTIONS support
wsobel Mar 24, 2026
95919c6
Added unit tests
wsobel Mar 24, 2026
fe1f410
Fixed options with specific paths
wsobel Mar 26, 2026
d4edd47
Fixed some of the error messages
wsobel Mar 26, 2026
744c577
Fixed issues with regex based paths
wsobel Mar 26, 2026
05da94f
Fix missing line break in usage text
scottmwyant Mar 27, 2026
a5aaa38
Fix up extra line break after 'remove' usage
scottmwyant Mar 27, 2026
b134987
Fixup formatting: remove whitespace
scottmwyant Mar 27, 2026
19beae1
Changed logging for some error messages on load
wsobel Mar 27, 2026
5f14e3d
Added some fixes for logging directory management. Issue #604
wsobel Apr 7, 2026
9c0a84d
Added some fixes for logging directory management. Issue #604
wsobel Apr 7, 2026
eb456ff
Fixed logging directory creation and placement of rotation files.
Apr 7, 2026
30504b6
Merge branch 'add_options_support_for_cors' of z:\projects\MTConnect\…
Apr 7, 2026
e225df3
Version 2.7.0.6
wsobel Apr 7, 2026
061fe91
Merge pull request #600 from scottmwyant/patch-2
wsobel Apr 7, 2026
ce2748e
Fixed tests to set log directors as temp for log testing.
wsobel Apr 8, 2026
17f07cc
Added rotation test at 1kb
wsobel Apr 8, 2026
267bcb6
Merge branch 'main' into add_options_support_for_cors
wsobel Apr 8, 2026
1a322cc
Fixed chunk body to remove x86 build warnings.
wsobel Apr 8, 2026
6cf2aea
Formatted code with clang
wsobel Apr 8, 2026
131304b
Remove x86 warnings because of header chunk handler.
wsobel Apr 8, 2026
349702c
Try to reduce cache size for builds
wsobel Apr 8, 2026
539a663
Merge pull request #599 from mtconnect/add_options_support_for_cors
wsobel Apr 8, 2026
1f20cdc
Fixed warnings in tls test
wsobel Apr 8, 2026
3f72593
Upgraded deprecated workflow package references
wsobel Apr 8, 2026
23e376b
See if we can lock down macos target version
wsobel Apr 8, 2026
d3bfa54
Code cleanup after refiew
wsobel Apr 8, 2026
1a6783c
Set the os version in conan for macos to 15
wsobel Apr 8, 2026
1a9f73f
Some build and code cleanup
wsobel Apr 8, 2026
e59e77c
Changed logging to match documentation
wsobel Apr 8, 2026
60c31f8
Version 2.7.0.7
wsobel Apr 8, 2026
62de8f0
Merge pull request #605 from mtconnect/reduce_conan_cache_size_to_red…
wsobel Apr 8, 2026
c38d88c
First set of refactoring suggestions
wsobel Apr 11, 2026
a1aafa4
Removed nlohmann json parser from agent, still used in tests
wsobel Apr 12, 2026
eaa9971
Fixed strand issue in shdr connector
wsobel Apr 12, 2026
96e14ec
Removed duplicate xml printer code
wsobel Apr 12, 2026
291ae1c
Removed commented out requirement for nolhmann json
wsobel Apr 13, 2026
95c0a49
Added version override in the json parser
wsobel Apr 13, 2026
0f16730
Fixed race condition when agent client falls too far behind under hea…
wsobel Apr 13, 2026
eddf36f
Minor refactor and set mac os target version for builds to 13.0
wsobel Apr 13, 2026
683b3cb
Reverted back to 15.0 since C++ 20 is not fully supported in 13.0
wsobel Apr 13, 2026
eda20d0
Fixed target in cmake
wsobel Apr 13, 2026
d874ab2
Added device model change time tests
wsobel Apr 23, 2026
160cda5
Ensure json version 2 in agenttest
wsobel Apr 23, 2026
cc42165
Merge pull request #606 from mtconnect/code_review
wsobel Apr 23, 2026
b645aaa
Added legacy rotation_size in case it is being used
wsobel Apr 24, 2026
29342ea
Added html rendering of swagger and fixed entity json printer that ha…
wsobel Apr 24, 2026
b46ab74
Formatting
wsobel Apr 24, 2026
77ee118
Update the configuration for the agent docker containers to use json …
wsobel Apr 28, 2026
a572af2
Update gcc profile
wsobel Apr 29, 2026
ff6c2aa
Merge pull request #607 from mtconnect/swagger_and_logging_fix
wsobel Apr 30, 2026
708116f
Updated conan profiles
wsobel Apr 30, 2026
54015e8
Added support for Device in adapter stream to the agent with MTConnec…
wsobel May 5, 2026
f2474be
Default bind address to :: for dual stack v6 and v4 support
wsobel May 6, 2026
170ff77
Version 2.7.0.10
wsobel May 7, 2026
e778381
Merge pull request #608 from mtconnect/fix_remote_host_logging_in_res…
wsobel May 7, 2026
d40f80e
Added support for events ending in count or number to be integer values
wsobel May 22, 2026
5fa2afb
Adding json schema support in json documents.
wsobel May 26, 2026
14cfd2b
Added support for agent to provide in the json documents. Added conf…
wsobel May 27, 2026
9410692
Formatted w/ clang format
wsobel May 27, 2026
786c163
Added all versions of the json schemas from 2.0 to 2.7
wsobel May 27, 2026
6d90252
Merge pull request #609 from mtconnect/json_generation_issues_with_sc…
wsobel May 29, 2026
c03e032
Fixed swagger URL
wsobel Jun 8, 2026
0b33dab
Fixed agent adapter recovery issue.
wsobel Jun 8, 2026
fc02ac9
Added addition unit tests for agent adapter
wsobel Jun 8, 2026
70d6996
Fixed test and clang formatted
wsobel Jun 8, 2026
21f1173
Add code coverage support to the build
wsobel Jun 8, 2026
dbf835f
Removed unused reconnecting flag in agent_adapter
wsobel Jun 8, 2026
73243d1
Merge pull request #612 from mtconnect/611_obervation_duplication_whe…
wsobel Jun 8, 2026
7c32779
Merge branch 'mtconnect-main' into jarsenault-merge-upstream-2026-07
johnathan-arsenault Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
# checks-out your repository under $GITHUB_WORKSPACE
# see https://github.com/actions/checkout
- name: Checkout Agent
uses: actions/checkout@v3
uses: actions/checkout@v4

# the QEMU emulator lets us build for arm processors also
# see https://github.com/docker/setup-qemu-action
Expand Down
61 changes: 43 additions & 18 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ on:
# Enable automated build once verified
pull_request:
paths-ignore: ["**/*.md", "LICENSE.txt", ".gitignore"]
branches: [ "main", "main-dev" ]
branches: [ "main" ]

push:
paths-ignore: ["**/*.md", "LICENSE.txt", ".gitignore"]
branches: [ "main", "main-dev" ]
branches: [ "main" ]
tags:
- "v*.*.*"

Expand All @@ -28,8 +28,8 @@ on:

jobs:
build_windows:
runs-on: windows-2022
name: "Windows 2022 Arch: ${{ matrix.arch }}, Shared: ${{ matrix.shared }}"
runs-on: windows-latest
name: "Windows latest Arch: ${{ matrix.arch }}, Shared: ${{ matrix.shared }}"
strategy:
matrix:
arch: ["x86", "amd64"]
Expand Down Expand Up @@ -64,11 +64,11 @@ jobs:
echo $CTEST_OUTPUT_ON_FAILURE

- name: Checkout Agent
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Cache conan packages
- name: Restore cached conan packages
id: cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.CONAN_HOME }}
key: ${{ runner.os }}-build-${{ matrix.profile }}-${{ hashFiles('**/conanfile.py') }}
Expand Down Expand Up @@ -98,6 +98,12 @@ jobs:
set CTEST_OUTPUT_ON_FAILURE=TRUE
conan create . --build=missing -pr conan/profiles/${{ matrix.profile }} -o "&:with_docs=False" -o "&:cpack=True" -o "&:cpack_destination=${{ env.ZIP_DIR }}" -o "&:shared=${{ matrix.shared }}"

- name: Clean conan cache
continue-on-error: true
run: |
conan remove mtconnect_agent -c
conan cache clean "*" --source --build --download

- name: Release
uses: softprops/action-gh-release@v2
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.shared == 'False' }}
Expand All @@ -119,18 +125,19 @@ jobs:
- name: Install dependencies
shell: bash
run: |
sudo apt update
sudo apt install -y build-essential cmake gcc-11 g++-11 python3 autoconf automake

- name: Checkout Agent
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Cache conan packages
- name: Restore cached conan packages
id: cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.conan2
key: ${{ runner.os }}-build-${{ matrix.shared }}-${{ hashFiles('**/conanfile.py') }}

- name: Install Conan
uses: turtlebrowser/get-conan@v1.2

Expand All @@ -151,7 +158,14 @@ jobs:
export CTEST_OUTPUT_ON_FAILURE=TRUE
conan create . --build=missing -pr conan/profiles/gcc -o '&:shared=${{ matrix.shared }}' -o '&:with_docs=False' -o '&:cpack=True' -o '&:cpack_name=dist' -o '&:cpack_destination=${{ github.workspace }}'

- name: Cleanse package version
- name: Clean conan cache
continue-on-error: true
run: |
conan remove mtconnect_agent -c
conan cache clean "*" --source --build --download

- name: Derive Package Version
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.shared == 'False' }}
run: |
PACKAGE_VERSION=${{ github.ref_name }}
if [[ $PACKAGE_VERSION == v*.*.*.* ]]; then
Expand All @@ -161,15 +175,19 @@ jobs:
else
echo "PACKAGE_VERSION=0.0.0.0" >> $GITHUB_ENV
fi

- name: Prepare Debian Package
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.shared == 'False' }}
shell: bash
working-directory: ${{ github.workspace }}
run: |
mkdir -p pkgroot/home/edge/
ls -lah pkgroot
tar -xzf dist.tar.gz -C pkgroot/
mv pkgroot/dist pkgroot/usr

- name: Create Debian Package
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.shared == 'False' }}
id: create_debian_package
uses: jiro4989/build-deb-action@v3
with:
Expand All @@ -179,9 +197,10 @@ jobs:
arch: amd64
desc: "MTConnect Agent for Ununtu"
maintainer: Datanomix <support@datanomix.io>

- name: Release
uses: softprops/action-gh-release@v2
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.shared == 'False' }}
uses: softprops/action-gh-release@v2
with:
name: Version ${{ github.ref_name }}
draft: true
Expand All @@ -198,15 +217,15 @@ jobs:

steps:
- name: Checkout Agent
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Cache conan packages
- name: Restore cached conan packages
id: cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.conan2
key: ${{ runner.os }}-build-${{ matrix.shared }}-${{ hashFiles('**/conanfile.py') }}

- name: Install Conan
run: |
brew install conan
Expand All @@ -226,5 +245,11 @@ jobs:
shell: bash
run: |
export CTEST_OUTPUT_ON_FAILURE=TRUE
export MACOSX_DEPLOYMENT_TARGET=15.0
conan create . --build=missing -pr conan/profiles/macos -o '&:shared=${{ matrix.shared }}' -o '&:with_docs=False'


- name: Clean conan cache
continue-on-error: true
run: |
conan remove mtconnect_agent -c
conan cache clean "*" --source --build --download
15 changes: 9 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# The version number.
set(AGENT_VERSION_MAJOR 2)
set(AGENT_VERSION_MINOR 6)
set(AGENT_VERSION_MINOR 7)
set(AGENT_VERSION_PATCH 0)
set(AGENT_VERSION_BUILD 2)
set(AGENT_VERSION_BUILD 12)
set(AGENT_VERSION_RC "")

# This minimum version is to support Visual Studio 2019 and C++ feature checking and FetchContent
Expand All @@ -22,13 +22,14 @@ set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/mtconnect")

message(INFO " Shared build: ${SHARED_AGENT_LIB}")

project(cppagent LANGUAGES C CXX)

# We will define these properties by default for each CMake target to be created.
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CXX_COMPILE_FEATURES cxx_std_17)
set(CXX_COMPILE_FEATURES cxx_std_20)
set(CMAKE_OSX_DEPLOYMENT_TARGET 15.0)

project(cppagent LANGUAGES C CXX)

set(WITH_RUBY ON CACHE STRING "With Ruby Support")

Expand Down Expand Up @@ -70,6 +71,7 @@ include(cmake/remove_link_directories.cmake)
include(cmake/osx_no_app_or_frameworks.cmake)
include(cmake/ClangFormat.cmake)
include(cmake/ClangTidy.cmake)
include(cmake/Coverage.cmake)

# Add our projects
add_subdirectory(agent_lib)
Expand Down Expand Up @@ -124,3 +126,4 @@ set(CPACK_PACKAGE_NAME "agent")
set(CPACK_PACKAGE_VENDOR "MTConnect.org")

include(CPack)

Loading
Loading