Releases: ostis-ai/sc-machine
Releases · ostis-ai/sc-machine
v0.9.0-Unlock
Breaking changes
- All methods in C++ API for managing sc-memory throws exceptions if passed params are not valid or memory state is not valid
- All methods in C API for managing sc-memory returns error codes if passed params are not valid or memory state is not valid
- Removed deprecated sc-utils in 0.6.0, 0.7.0 and 0.8.0
- Removed deprecated make_all.sh
Added
- Config option
limit_max_threads_by_max_physical_cores
in[sc-memory]
to limit max threads by max physical threads - Config options
dump_memory
anddump_memory_statistics
in[sc-memory]
for enabling sc-memory dumps - Full md docs for sc-memory API on C++ with examples
- ScTemplate replacement presence check using varAddr
- Iterator5 AAAAF
- Divide params errors handling and memory state handling
- Provide errors and exceptions information into C and C++ sc-memory API
- Support for gwf <0.4.0
- Monitors for processes and thread synchronization
- Monitors tables for sc-addresses monitors and sc-event monitors
- Distribution of sc-segments by active processes and threads
- Internal sc-storage sc-segment-built-in lists for not engaged and freed sc-elements
- Clarify events managers for sc-storage: pick out subscription and emission managers
- Clarify context manager for sc-memory
- Common secured interface for sc-memory
- GetDecompositionAgent
Changed
- Optimize and move sc-memory dumps from sc-server to sc-memory
- Refactor all code by .clang-format 18.0.0
- Replace hyphens by underscores in files
- Replace underscores by hyphens in folders
- Update codestyle guide
- Update contributing guide
- Update .clang-format to 18.0.0
Fixed
- Separate setups for sc-server and sc-builder from main.cpp and test
- Script scg.min.js styles handling for sc.g-element types of KBE >0.4.0
- Sc.g-elements images in docs
- Support recursive curl braces in SCs-code level 2
- Support semantic sc-types for sc-node in SCs-code level 1
- Support sc-links for SCs-code level 1
- HelperBuildTemplate with params that have varAddr replacements
- Warnings for GNU compilers
- Warnings in sc-machine about deprecated methods
- Behavior of the agent_erase_elements on not his action classes
- Deleting existing and translated .scs sources with the same name
- Parse contours identifiers by gwf2scs-translator
- Symmetric sc-edges search
- sc-machine crashes when trying to view a picture in sc-web (311)
- No tests for ScMemory::Initialize(sc_memory_params) with different parameters (216)
- Too big number in websocket request crusher sc-server (309)
- Handle crush errors (63)
- Usage of invalid addresses after rerun failed sc-server (79)
- Invalid addrs crushes sc-iterator methods usages (66)
- All deadlocks and segfaults in sc-storage, sc-events and fs-memory (111)
- Processes and thread starvation
- Active waiting during sc-events deletion
- List items semicolons for sc.s-contours
- Internal sentences after sc.s-contour assignment
- Success of finishing the action is marked first and only then that it was finished
- Finish agent wait time
Deprecated
- Config option
sync_actions
in[sc-server]
, add optionparallel_actions
instead of - Config option
update_period
in[sc-memory]
, add optiondump_memory_statistics_period
instead of - Config option
save_period
in[sc-memory]
, add optiondump_memory_period
instead of - Method
getLinkContent
in sc-utils
Removed
sc::ResolveRelationTuple
andsc::SetRelationValue
- Deprecated sc-utils in 0.6.0, 0.7.0 and 0.8.0
- Deprecated make_all.sh
- Runtime asserts usage in sc-storage
- Atomic operations usage in sc-storage
- Locks usage in sc-storage
v0.8.0-Fusion
Breaking changes
- Now we use C++17 instead of C++14
- We support compatibility with old memory binaries
Added
- Add and get addresses by variable addresses in ScTemplateParams API
- Check sc-types in sc-memory API sc-elements creation methods
- Ability do not search for sc-links by substrings globally, passing config param
search_by_substring
- Ability do not search for sc-links by strings locally, passing param in SetLinkContent
is_searchable
- Generalize all scripts for applied projects
- Script
build_sc_machine.sh
with arguments-f
-t
and-r
instead ofmake_all.sh
- View kb fragment in scn if it is keyword
- Tests for repo-path parser and sources collector in
sc-builder
- Support for deprecated memory binaries build in 0.7.0 version
- Synchronize processes that works with file memory and sc-dictionary
- Get replacements in template result by variable addresses
- Divide strings file into more small files with fixed size by requested configs
max_strings_channels
andmax_strings_channel_size
- Configuration of docker-compose.yml using .env file
- Script
run_tests.sh
- Full tests for file memory API
- Intersect/unite search sc-links by strings and substrings in file memory
- Search strings and sc-link hashes by terms in file memory
- File memory on file system, save strings in file system disks
- Configure events and agents threads in sc-memory, passing config param
max_events_and_agents_threads
- Loop-ranged API method for sc-template search (78)
- Full tests for sc-template API
- Sc-template cycle preventing search
- Sc-template equal triples search
- Sc-template search API to get and use constructions step by step
- Sc-template search API to custom filter constructions with step by step search
- Sc-template search API with request commands (continue search, stop search and error during search)
- Cover all sc-template search and gen API with tests
- Order triples by type and dependencies with other triples
- Count input/output edges in elements during edges adding
- Order triples by input/output edges count for triple items
- Determined sc-template depth-first search
- Sc-template safe API without exceptions handling
- Extend create elements by SCs in
sc-server
with outputStructure field - Write docs for system identifier set/get/find/resolve sc-memory API
- Extend set/get/find/resolve sc-memory API with out system identifier fiver parameters
- Insert sc-keynodes in global knowledge base during sc-memory initiation
- Save sc-memory by period in sc-server, passing config param
save_period
in seconds - Dump statistics by period in sc-server, passing config param
update_period
in seconds - Agent for erasing sc-elements not belonging to the global structure
init_memory_generated_structure
- Transfer init memory generated structure to modules initialization, passing config params
init_memory_generated_upload
andinit_memory_generated_structure
- Possibility to skip keys defined in .ini config file in ScConfig
- Pre-commit code style checks for C++ and Python
- Add reversed edges according to standart
- Sc-links classes
![]!
in SCs - Insert sc-keynodes and their system identifiers in global knowledge base during sc-memory initiation
- Extend create elements by SCs in
sc-server
with outputStructure field - Write docs for system identifier set/get/find/resolve sc-memory API
- Extend set/get/find/resolve sc-memory API with outer system identifier fiver parameters
- CI for documentation build
- Add output structure builder feature to config
- Add validation of system identifier
- Append generated elements by
SCs-helper
into requested output structure - Oriented sets representation (<a, ..., b>) in SCs
- Build docs in SCn format separately from
ostis-web-platform
Changed
- Replace asserts in sc-memory API by exceptions throwing
- Refactor sc-server logs
- Decrease wait time for sc-element referencing in iterators
- Call gwf-translator in sc-builder
- Move repo path parser from Python to C++ in sc-builder
- Unite ScTemplateGenResult and ScTemplateSearchResultItem into ScTemplateResultItem
- Remove list to array translations in C API for file memory
- Upload text and binary files in realtime by get API
- Remove string lengths recount in file memory
- Optimize int to string translation in file memory
- Use iterators instead of sc-template in
getNextFromSet
util - Generalized
docker_entrypoint.sh
, this script can be used by external projects now - Now in tests all agents works in single thread
- Replace asserts in sc-template search and gen API by exceptions throwing
ScsLoader::loadScsFile
return bool instead void- Update garbage deletion agent logic, add check if element belongs to init memory structure
- Make scsi pre-processor migrations script
- Move to C++17
- Remove 1 minute assert in
ScWait
- Add language parameter for sc2scs-json-translator to get elements identifiers
- Append to sc2scs-json elements main/system identifiers
- Replace row strings by nlohmann-json in sc2scs-json-translator
Fixed
- Check OS type in
install_dependencies.sh
- Check apt command for Linux OS in
install_deps_ubuntu.sh
- Create sc-links with ScType::Link type in Debug mode
- Change memory statistics fields types from sc_uint32 to sc_uint64
- Return empty sc_addr if not found by identifier in
sc-helper
- Build kb script doesn't ignore whitespace (239)
- Docker entrypoint throws integer expression expected (267)
- KB directory coping to prepare gwf and scsi sources
- Tests for template build and gen with params
- Aliases checking in build by scs
- Not use system identifiers of vars in sc-template-build
- Sc-template search by empty template (65)
- Segfaults in test sc-client
- Creating sc-keynodes without defining type. Now they will be created with const node type.
- Converting to string params from configs
- Fix hashes size in fs-storage (45)
- GetLinkContent skip whitespaces in strings
- No inserting system identifiers of keynodes to output structure (223)
SCs-helper
doesn't return generated identifier links (207)- No json string message parsing in
sc-server
(WebSocket request dumps sc-machine) (190) - SCs-file dumps kb-builder by WebSocket (189)
SCs-parser
create structure twiceSCs-parser
doesn't unite all generated elements into structure (205)- Link deletion (193)
- Add curl to installation script
- Fix memory clear parameter reading from .ini config file
- Merging identifiers in sc-dictionary (192)
- Dependence order in var template search triples (186)
Removed
- Windows files and cmake dependencies
- Prepare kb step and
prepare_kb.py
- Rocksdb file memory
- Garbage deletion agent
v0.7.0-Rebirth
Breaking changes
- Binaries are built in the
bin
folder located near the CMake build tree. This will affect any project using sc-machine as a CMake subproject. - Add
;
afterSC_LOG_INFO
,SC_LOG_DEBUG
,SC_LOG_WARNING
andSC_LOG_ERROR
calls in projects that use sc-machine. - Add
;
afterSC_ASSERT
calls in projects that use sc-machine. - Remind that all binary content are stored in sc-fs-storage as base64 string.
- sctp-server was removed, move to sc-server usage.
- SC-machine doesn't support ubuntu versions lower than 20.04.
Added
- Implement sc-link content removing from sc-storage
- Add command to find links contents by content substring into sc-server
- Implement find links contents by content substring into sc-server
- CI for docker build and run
- CI for ubuntu-22.04 and latest macOS
- Add ScExec class to execute system commands
- Test for utils for work with actions and their results
- Handle and save sc-server subcommands errors
- Add sc-server healthcheck
- Add tests for sc-search agents in sc-kpm
- Write sc-machine idea into readme
- Add create elements by scs-helper through sc-server
- Add CI workflow for sanitizers
- Add find links by substring in sc-server
- Initial development container support
- You can now run sc-machine in Docker
- Unite configuration for sc-server and sc-builder
- Write docs in scn-latex for sc-server
- Implement sc-memory configurator
- Implement sc-options for sc-server and sc-builder usages
- Implement sc-server on C++
- Add string API for set and get link content
- Add opportunity to search sc-links in
sc-dictionary
by content substr - Excludes for files and folders in repo.path
- Automatic usage of ccache to speed up builds
- Add CI for
rocksdb
andsc-dictionary
- Implement
sc-dictionary
. Add opportunity to switchrocksdb
andsc-dictionary
- Wrap and separate allocating, assertion, notification and atomic lock free procedures
- Add tests module for sc-agents-utils
- Add opportunity to configure sc-machine version from CMakeLists.txt
- Add scripts to build kb, run sctp-server and run sc-server
- New flag options for build_kb
- Add default python modules paths to python initialization
- United config file
Changed
- Fix sc-server json casts to strings
- Check sc-server run in tests
- Flag --tests for sc-server to run and quick stop it
- Fix glib casts on ubuntu-20.04 and macOS
- Store binary content as base64 string
- Update action utils to use the new logic for waiting for action results
- Fix logic of waiting for action results
- Entrypoint of Docker image is now easier to work with
- Update commit badges
- Up codecov target from 40% to 75%
- Up codecov level from 62% to 78%
- Separate ci workflow: check pr-commit, codestyle and tests
- Revamped README.md
- Unify sc-builder and sc-server config and params usage
- Change sc-machine config file structure
- Fix gwf2scs-translator. Add opportunity to parse russian identifiers
- Simplify main CMakeLists.txt
- Add tools macros for main CMakeLists.txt
- Separate dependencies specifying from main CMakeLists.txt
- Correct typos
- Fix warnings in sc-memory modules
- Fix scs-grammar. Add opportunity to specificate a structure into this structure itself
Removed
- Remove find by substring logic from sc-dictionary
- Remove legacy gwf-translator for 0.3.0 gwf sources from sc-builder
- Remove legacy glib-based tests
- Remove boost usage for options parsing in sc-server and sc-builder
- Unlink boost-python-lib from sc-machine
- Remove mkdocs for sc-server
- Remove sc-python-interpreter support
- Remove sc-python-module support
- Remove python sc-server
- Move logic rule utils and keynodes to ostis-inference
- Remove sctp-server
- Remove scp-interpreter
v0.6.1
Added
- Search by template with params in C++ API
- Sanitizers
- Benchmarks
- Clang code formatting
- Common utils for C++ API
Changed
- Migrate test system to
gtest
- Update macOS install_deps script
- Multithreaded build process used by default
- Move changelog to Keep a Changelog format
Removed
- Moved React web interface in a separate new repository.
- Remove optional search triples support