Skip to content

Modarnization and Windows multi user fix#5

Open
draugvar wants to merge 49 commits intokyr0:masterfrom
draugvar:main
Open

Modarnization and Windows multi user fix#5
draugvar wants to merge 49 commits intokyr0:masterfrom
draugvar:main

Conversation

@draugvar
Copy link
Collaborator

@draugvar draugvar commented Feb 6, 2026

This pull request introduces several updates to modernize the codebase, streamline build and test processes, and improve automation. The most significant changes are upgrading the project to C++20, replacing legacy shell scripts with CMake-based workflows, and adding a comprehensive GitHub Actions CI/CD pipeline for building, testing, and releasing. Below are the most important changes grouped by theme.

Build System Modernization:

  • Upgraded the project and test suite to use C++20 instead of C++11, updating CMakeLists.txt, test/CMakeLists.txt, and related compiler flags to ensure compatibility across platforms. [1] [2] [3]
  • Removed legacy shell scripts (build.sh, test.sh) and the Node.js package.json file, consolidating build and test commands into CMake targets. [1] [2] [3]
  • Added a custom CMake target run_test for running tests, improving integration with CI workflows.

Continuous Integration & Release Automation:

  • Introduced a new GitHub Actions workflow (.github/workflows/build_and_test.yml) to automate building, testing, and releasing the library on both Ubuntu and Windows, including dynamic version detection and release note generation.

Documentation Updates:

  • Updated README.md to reflect the switch to C++20 and removed outdated build/test instructions, aligning documentation with the new build process. [1] [2]

draugvar and others added 30 commits October 15, 2025 08:49
Refactor: Remove package.json and enhance test output
Co-authored-by: draugvar <12036000+draugvar@users.noreply.github.com>
…espace

Co-authored-by: draugvar <12036000+draugvar@users.noreply.github.com>
Co-authored-by: draugvar <12036000+draugvar@users.noreply.github.com>
Co-authored-by: draugvar <12036000+draugvar@users.noreply.github.com>
Modernize to C++20 with STL type safety improvements
draugvar and others added 19 commits November 5, 2025 12:41
feat: add CHANGELOG.md for version 1.7.0 and update README.md with new features
Removed workflow_dispatch and push triggers from the build and test workflow.
acl setup with inheritance, clean handle close/set permissions/reopen…
change linux shm file perm to 777
@kyr0
Copy link
Owner

kyr0 commented Feb 14, 2026

WOW! This is a fantastic refactoring!

Thank you @draugvar and @amassuoli

Do you believe this is ready to merge?

With the amount of work you've spent, I'd even go ahead and add you both as project members, so you can work on this project independently.

@draugvar
Copy link
Collaborator Author

Thanks Kyr0!
We’ve already integrated the refactoring into our environment and have been testing it extensively in real-world conditions. So far, it’s working flawlessly across all our multi‑process scenarios, even with different permission levels involved.
From our side, it absolutely looks ready to merge.
And thank you for the proposal — I'd be glad to contribute as project members!

@kyr0
Copy link
Owner

kyr0 commented Feb 15, 2026

This sounds amazing, @draugvar - I've added you to the members of the project. I believe that you should be able to see a pending invitation.

With this, I believe, you should be able to even merge this PR. Please tell me, if the Merge button is available to you now (after accepting the invite).

Thanks again for your contributions!

@amassuoli
Copy link

Hi,
it's reasonably stable. I wouldn't call it fully production-ready yet, but I think it has just updates to existing code (as far as I can tell, peer reviews are there because of this :D ).

Anyway, thanks for the invite. We firmly believe in open source contributions, so happy to give back.
Let me personally (meaning that I am writing for this specific github account) assess if I can accept, it's a matter of checking what's company stance with open source contributions.

Anyway, for Windows use, the best course of action would be to go through a named file mapping instead of using a file - that's the appointed way to create shared memory there. Not that this way it doesn't work or that watchers aren't good for the job, the current situation can definitely do :)

That's a thing to track for the future, maybe.

Thanks for the kind words, and keep up the good work!

@draugvar
Copy link
Collaborator Author

Hi,

I can confirm that the Merge pull request button is enabled.
If you’d like, I can go ahead and merge it.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments