PHP Classes

File: changelog.json

Recommend this page to a friend!
  Packages of Christos Drogidis   Ascoos OS   changelog.json   Download  
File: changelog.json
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Ascoos OS
A PHP Web 5.0 Kernel for decentralized web and IoT
Author: By
Last change: 1.0.0-alpha32-development
Date: 20 days ago
Size: 35,402 bytes
 

Contents

Class file image Download
{ "initial": [ { "date": "2025-08-01 07:00:00", "version": 10000, "version-state": "Initial", "build": "1", "module": "all", "classes": [ { "all": "Initial" } ] } ], "1.0.0a30": [ { "date": "2026-05-02 07:00:00", "version": 10000, "version-state": "Alpha-30", "build": "17716", "module": "core", "classes": [ { "name": "TCoreTrait", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ], "methods": { "getServerMemoryUsage()": "Provides memory usage statistics in percentage or structured form." } }, { "name": "TCoreHandler", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ] }, { "name": "TError", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ] }, { "name": "THandler", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ] }, { "name": "TMathHandler", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ], "methods": { "hermiteInterpolate()": "Evaluates the solution of an ODE at an arbitrary time using cubic Hermite interpolation between RK4 sample points.", "hermiteInterpolateVector()": "Evaluates the solution of a vector-valued ODE system at an arbitrary time using cubic Hermite interpolation between adaptive RKF45 sample points.", "rk4()": "The Runge-Kutta 4th Order (RK4) method is the gold standard for numerical integration of ordinary differential equations (ODEs). It provides a robust framework for simulating dynamic systems where an analytical solution is difficult or impossible to obtain.", "rkf45": "RKF45 is an adaptive numerical method for solving ODEs that dynamically adjusts the step size to control the approximation error.", "rkf45_sys()": "The Runge-Kutta-Fehlberg (RKF45) method extended to systems of coupled differential equations." } }, { "name": "TObject", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ], "methods": { "throwException()" : "Throws specified exception type with code\/message." } }, { "name": "TStringList", "kernel-level": "Core (Deep Core Class)", "description": "TStringList is a core utility class of the ASCOOS OS Kernel designed to represent a linear, ordered list of string values. It offers essential list operations such as adding, inserting, deleting and searching strings, as well as helper features like text serialization and key-value parsing. Unlike Delphi's TStringList, this implementation is purely PHP-oriented and integrates with the ASCOOS TObject property system for configurable behavior.", "methods": { "__construct()": "Initializes the class with an array, and optional properties.", "getInstance()": "We see if the object is already loaded, otherwise we create a new load of the object.", "add()": "Adds a new string to the end of the list and returns its index.", "clear()": "Clears all strings from the list.", "contains()": "Checks whether the list contains the specified string.", "count()": "Returns the number of strings stored in the list.", "delete()": "Deletes the string at the specified index and reindexes the list.", "first()": "Returns the first string in the list.", "fromKeyValueArray()": "Loads the list from an associative array of key-value pairs.", "get()": "Returns the string stored at the specified index.", "getDelimitedText()": "Returns all list items joined into a single delimited UTF-8 safe string.", "getText()": "Returns all list items as a multi-line UTF-8 safe string.", "getValue()": "Retrieves the value associated with the specified key.", "indexOf()": "Returns the index of the specified string or -1 if not found.", "indexOfKey()": "Returns the index of the entry whose key matches the specified name.", "insert()": "Inserts a string at the specified index and shifts the remaining items.", "last()": "Returns the last string in the list.", "loadFromFile()": "Loads text from a file, handling missing-file conditions based on system mode.", "loadFromKeyValueText()": "Loads key-value formatted text into the list.", "lower()": "Converts all list items to lowercase (values only for key=value entries).", "reverse()": "Reverses the order of the list.", "saveToFile()": "Saves the list to a file, handling empty-list conditions based on system mode.", "set()": "Replaces the string at the specified index.", "setDelimitedText()": "Parses a delimited string and loads its parts into the list.", "setKeyValue()": "Sets or updates the value associated with the specified key.", "setText()": "Splits a UTF-8 text block into lines and loads them into the list.", "setValue()": "Sets or updates the value associated with the specified key.", "sort()": "Sorts the list in ascending or descending UTF-8 order.", "sortDesc()": "Sorts the list in descending UTF-8 order.", "toArray()": "Returns the internal list as a native PHP array.", "toKeyValueArray()": "Converts the list into an associative array of key-value pairs.", "ucwordsList()": "Capitalizes the first letter of each word (values only for key=value entries).", "unique()": "Removes duplicate strings from the list.", "upper()": "Converts all list items to uppercase (values only for key=value entries)." } }, { "name": "TUTF8", "kernel-level": "Core (Deep Core Class)", "changes": [ "Transfer Extended PHPDoc docblocks to DoBu docblocks" ], "methods": { "grapheme_strrev()": "Reverses a string using Unicode grapheme clusters to ensure visually correct character order.", "slugify()": "UTF-8 safe slug generator using transliteration and normalization" } } ], "functions": [ { "global-functions": [ { "getNiceFileSize()": "Converts a byte value into a human-readable file size string.", "humanizeKey()": "Converts a key-like string to human-readable title case.", "print_stats()": "Outputs execution statistics such as runtime, memory usage, and peak memory consumption.", "vn()": "Returns the name(s) of global variables whose value matches the given input.", "writeln()": "Writes a string followed by one or more newline characters." } ] }, { "mbstring": [ { "mb_strcasecmp()": "Multibyte binary safe case-insensitive string comparison.", "mb_strcmp()": " Multibyte safe string comparison", "mb_strncmp()": "Multibyte binary safe string comparison of the first n characters", "mb_strtr()": "Multibyte safe translate characters or replace substrings" } ], "openssl": [ { "openssl_bundle_create()": "Creates a unified PEM bundle containing certificate, private key, and optional chain.", "openssl_ca_backup()": "Creates a compressed backup of the entire CA directory structure.", "openssl_ca_init()": "Initializes a full CA directory structure compatible with OpenSSL.", "openssl_ca_restore()": "Restores a CA directory from a .tar.gz backup.", "openssl_cert_chain()": "Creates a full certificate chain (fullchain.pem) by concatenating certificates.", "openssl_cert_chain_dump()": "Returns a structured dump of every certificate in a chain file.", "openssl_cert_chain_verify()": "Verifies a certificate against a CA bundle and optional CRL.", "openssl_cert_chain_verify_detailed()": "Performs a full chain verification and returns detailed error information.", "openssl_cert_compare()": "Compares two certificates and returns a structured diff of their fields.", "openssl_cert_days_left()": "Returns how many days remain before a certificate expires.", "openssl_cert_dump()": "Returns a complete structured dump of all certificate fields.", "openssl_cert_fingerprint()": "Returns the fingerprint of a certificate using the specified hash algorithm.", "openssl_cert_from_der()": "Converts a DER certificate to PEM format.", "openssl_cert_info()": "Extracts detailed information from an X.509 certificate (PEM or DER).", "openssl_cert_init()": "Generates an OpenSSL .cnf file for domain or wildcard certificate requests.", "openssl_cert_is_expired()": "Checks whether a certificate is expired.", "openssl_cert_issuer()": "Extracts the certificate issuer as a structured associative array.", "openssl_cert_key_match()": "Checks whether a private key matches a certificate.", "openssl_cert_public_key()": "Extracts the public key from a certificate in PEM format.", "openssl_cert_purpose()": "Returns which purposes a certificate is valid for (server, client, email, code-signing, etc.).", "openssl_cert_read()": "Reads a certificate file and returns its raw encoded contents.", "openssl_cert_renew()": "Renews an existing certificate by generating a new CSR and signing it with the CA.", "openssl_cert_request()": "Generates a CSR (Certificate Signing Request) using a config file and private key.", "openssl_cert_revoke()": "Revokes a certificate using the CA configuration and private key.", "openssl_cert_san_list()": "Extracts all Subject Alternative Names (SAN) from a certificate.", "openssl_cert_selfsign()": "Generates a self-signed certificate using a private key and a .cnf configuration file.", "openssl_cert_serial()": "Extracts the certificate serial number in normalized uppercase hex format.", "openssl_cert_sign()": "Signs a CSR using the CA certificate and private key, producing a signed certificate.", "openssl_cert_signature_algorithm()": "Extracts the signature algorithm of a certificate.", "openssl_cert_subject()": "Extracts the certificate subject as a structured associative array.", "openssl_cert_to_der()": "Converts a PEM certificate to DER format.", "openssl_cert_to_json()": "Converts a certificate into a structured JSON object containing all key fields.", "openssl_cert_validity()": "Returns the notBefore and notAfter fields of a certificate.", "openssl_cert_verify()": "Verifies a certificate against a CA certificate and optionally a CRL.", "openssl_crl_export()": "Exports a CRL file in PEM or DER format.", "openssl_crl_new()": "Generates a new Certificate Revocation List (CRL) using the OpenSSL CLI.", "openssl_crl_read()": "Reads a CRL file (PEM or DER) and returns its PEM representation.", "openssl_crl_revoke()": "Revokes a certificate using the OpenSSL CLI and updates the CA index.", "openssl_crl_update()": "Generates a new CRL using the CA configuration and private key.", "openssl_crl_verify()": "Verifies a CRL against a CA certificate using OpenSSL.", "openssl_key_compare()": "Compares two private keys and returns a structured diff of their properties.", "openssl_key_convert()": "Converts private keys between formats (PKCS#1, PKCS#8), adds or removes encryption.", "openssl_key_decrypt()": "Removes password protection from an encrypted private key.", "openssl_key_encrypt()": "Encrypts a private key using PKCS#8 with a password.", "openssl_key_generate()": "Generates a private key (RSA, EC, or Ed25519) using OpenSSL.", "openssl_key_info()": "Returns detailed information about a private key (RSA, EC, Ed25519).", "openssl_ocsp_sign()": "Signs a CSR to produce an OCSP responder certificate with correct extensions.", "openssl_ocsp_verify()": "Verifies an OCSP response using the issuer certificate and OCSP responder certificate.", "openssl_pkcs12_exports()": "Creates a PKCS#12 (.p12/.pfx) bundle containing certificate, private key, and optional chain.", "openssl_pkcs12_import()": "Imports a PKCS#12 (.p12/.pfx) file and extracts certificate, private key, and optional chain." } ] } ] } ], "1.0.0a31": [ { "date": "2026-05-10 07:00:00", "version": 10000, "version-state": "Alpha-31", "build": "17777", "module": "core", "classes": [ { "name": "TChangelogHandler", "kernel-level": "Extras (Optional Core Class)", "description": "Unified handler that generates both HTML and Markdown changelog output from the ASCOOS OS changelog.json format.", "build": "17720", "created": "2026-05-05 18:53:51", "category":"Changelog Rendering", "changes": [ "Added new methods (Initial)" ], "methods": { "__construct()": "Loads changelog.json and release.json, validates them, and initializes TObject.", "findReleaseByBuild()": "Searches the loaded releases and returns the one whose version list includes the given build.", "generateHtml()": "Generates a complete HTML changelog document.", "generateMarkdown()": "Generates a complete Markdown changelog document.", "getChangelogSection()": "Returns the changelog entry that corresponds to the given key, or null if not found.", "loadJson()": "Reads a JSON file, decodes it and ensures the result is a valid array.", "methodAnchorId()": "Normalizes method names and combines them with the parent section ID to form valid HTML anchors.", "stateToChangelogKey()": "Maps human-readable version states to internal changelog identifiers, supporting dynamic version prefixes." } }, { "name": "TMechanicHandler", "kernel-level": "Extras (Optional Core Class)", "description": "TMechanicHandler provides a focused set of mechanics-related computations on top of the generic physics and math handlers. It encapsulates common formulas for stress, strain, elasticity, energy and machine performance.", "build": "17752", "created": "2026-05-06 06:42:54", "category":"Computational Mechanics", "changes": [ "Added new methods (Initial)" ], "methods": { "__construct()": "Constructor for initializing the mechanics handler.", "getInstance()": "Returns the singleton instance of TMechanicHandler.", "bulk_modulus()": "Computes the bulk modulus K from Young?s modulus E and Poisson?s ratio ?.", "efficiency()": "Calculates mechanical efficiency as a percentage.", "force_from_stress()": "Calculates force from stress and cross-sectional area.", "hooke_energy()": "Computes total elastic strain energy.", "hooke_strain()": "Computes normal strain ? from stress and Young's modulus.", "hooke_stress()": "Computes normal stress ? using Hooke's law.", "kinetic_energy": "Calculates kinetic energy of a moving body.", "mechanical_advantage()":"Calculates the mechanical advantage of a machine.", "normal_strain()": "Calculates normal strain from final and original length.", "poisson_ratio()": "Computes Poisson?s ratio from lateral and longitudinal strain.", "shear_modulus()": "Computes shear modulus G from Young?s modulus E and Poisson?s ratio ?.", "shear_strain": "Calculates shear strain from an angle in radians.", "stress()": "Calculates normal stress from force and cross-sectional area.", "young_modulus()":"Calculates Young's modulus (E) from stress and strain." } }, { "name": "TUnitsConverterHandler", "kernel-level": "Extras (Optional Core Class)", "description": "The TUnitsConverterHandler class is an optional ASCOOS OS component that provides a centralized conversion engine for mathematical and physical units. All unit definitions are stored externally (PHP/JSON) and loaded lazily during runtime.\n\nThe handler supports:\n\t- Factor-based conversions (length, weight, volume, area, speed, energy, pressure, power)\n\t- Formula-based conversions (temperature: C, F, K)\n\t- Metadata access (categories, units)\n\t- Validation utilities\n\t- Normalization utilities\n\n It follows the ASCOOS OS deterministic design principles and integrates with the TObject lifecycle, including Free() cleanup.", "build": "17769", "created": "2026-05-08 08:09:55", "category":"Units Conversion", "changes": [ "Added new methods (Initial)" ], "methods": { "__construct()": "Initializes the class with an array of optional properties.", "getInstance()": "Returns the singleton instance of the handler, creating it if necessary.", "autoUnit()": "Automatically selects the most appropriate unit for a given value within a category.", "convert()": "Converts a value between two units within the same measurement category.", "convertTemperature()": "Converts a temperature value between Celsius, Fahrenheit, and Kelvin.", "formatAuto()": "Automatically selects the best unit for a value and formats it into a readable string.", "formatAutoComparison()": "Automatically selects the best unit for two values and formats a comparison expression.", "formatAutoList()": "Automatically selects the best unit for a list of values and formats them into a readable comma-separated string.", "formatAutoRange()": "Automatically selects the best unit for a numeric range and formats it into a readable string.", "formatAutoTable()": "Automatically selects the best unit for a table of values and formats them into an HTML table.", "formatComparison()": "Formats a comparison expression between two numeric values using a shared unit.", "formatList()": "Formats an array of numeric values using a shared unit into a comma-separated string.", "formatRange()": "Formats a numeric start-end range together with a unit into a readable string.", "formatTable()": "Formats a list or matrix of numeric values into an HTML table using a shared unit.", "formatValue()": "Formats a numeric value together with its unit into a human-readable string.", "getCategories()": "Returns all available measurement categories loaded from the external units data file.", "getUnits()": "Returns all units defined under a specific measurement category.", "hasUnit()": "Checks whether a specific unit exists within a given measurement category.", "loadAliases()": "Loads unit alias definitions from the external alias configuration file.", "loadUnits()": "Loads unit definitions from the external configuration file into the handler.", "normalizeUnit()": "Normalizes a unit identifier to a canonical internal representation.", "registerAlias()": "Registers a new alias and maps it to a canonical unit identifier.", "registerUnit()": "Registers a new unit in an existing measurement category at runtime.", "resolveAlias()": "Resolves alternative unit names (aliases) to their canonical unit identifiers.", "validate()": "Validates whether a category and two units are defined in the units data file." } } ] } ], "1.0.0a32": [ { "date": "2026-05-18 19:00:00", "version": 10000, "version-state": "Alpha-32", "build": "17800", "module": "core", "classes": [ { "name": "TMathHandler", "kernel-level": "Core (Deep Core Class)", "description": "", "build": "17790", "created": "2007-05-11 07:00:00", "updated": "2026-05-13 18:50:23", "category":"", "changes": [ "Updates many methods", "Added new methods (17786)" ], "methods": { "areaOfCubic()": "Computes the total surface area of a cube from the length of its side.", "areaOfRegularOctagon()": "Computes the area of a regular octagon from the length of its side.", "binet_fibonacci()": "Computes the n-th Fibonacci number using Binet?s closed-form formula." } }, { "name": "TMathGraphHandler", "kernel-level": "Extras (Optional Core Class)", "description": "This class extends TMathHandler and introduces graph?related algorithms, including single?source and all?pairs shortest path methods.", "build": "17800", "created": "2026-05-13 11:30:00", "updated": "2026-05-18 18:17:56", "category":"Graph Mathematics", "changes": [ "Added new methods (Initial)" ], "methods": { "__construct()": "Initializes the TMathGrpahHandler instance with optional array data and properties.", "getInstance()": "Returns the existing TMathGraphHandler instance or creates a new one if none exists.", "articulationPoints()": "Finds all articulation points in an undirected graph using Tarjan?s algorithm.", "assortativity()": "Computes the degree assortativity coefficient of an undirected graph.", "averagePathLength()": "Computes the average shortest?path length of an undirected graph.", "bellmanFord()": "Computes shortest paths from a single source using the Bellman-Ford algorithm.", "betweennessCentrality()": "Computes the betweenness centrality of all vertices using Brandes' algorithm.", "bfs()": "Performs a Breadth?First Search (BFS) traversal from a given source node.", "biconnectedComponents()": "Computes all biconnected components (BCCs) of an undirected graph.", "bridges()": "Finds all bridges in an undirected graph using Tarjan?s algorithm.", "bronKerbosch()": "Enumerates all maximal cliques of an undirected graph using the Bron?Kerbosch algorithm.", "bronKerboschNoPivot()": "Classical Bron?Kerbosch recursive algorithm without pivoting.", "bronKerboschPivot()": "Recursive Bron?Kerbosch variant with pivoting (Tomita optimization).", "canReach()": "Checks whether a target node is reachable from a source node in a directed graph.", "cliqueNumber()": "Computes the clique number (size of a maximum clique) of an undirected graph.", "closenessCentrality()": "Computes the closeness centrality of all vertices in an undirected graph.", "clusteringCoefficient()": "Computes the global clustering coefficient of an undirected graph.", "componentOf()": "Returns the connected component that contains the specified node.", "condensationGraph()": "Constructs the condensation graph (SCC DAG) from a directed graph and its SCCs.", "connectedComponents()": "Finds all connected components in an undirected graph.", "coreDecomposition()": "Computes the core number (coreness) of each vertex in an undirected graph.", "degeneracy()": "Computes the degeneracy of an undirected graph.", "degree()": "Returns the degree of a node in an undirected graph.", "degreeCentrality()": "Computes the degree centrality of all vertices in an undirected graph", "dfs()": "Performs a Depth?First Search (DFS) traversal from a given source node.", "diameter()": "Computes the diameter of an undirected graph.", "dijkstra()": "Computes shortest paths from a single source using Dijkstra?s algorithm.", "eccentricity()": "Computes the eccentricity of a vertex in an undirected graph.", "edgeConnectivity()": "Computes the edge connectivity ?(G) of an undirected graph.", "edgeCount()": "Counts the total number of edges in the graph.", "edgeRemovalImpact()": "Computes the structural impact of removing each edge from the graph.", "edmondsKarp()": "Computes the maximum flow in a directed graph using the Edmonds?Karp algorithm.", "eigenvectorCentrality()": "`Computes eigenvector centrality using the power?iteration method.", "fiedlerJacobiEigenvalues()": "Computes all eigenvalues of a real symmetric matrix using the classical Jacobi rotation method.", "fiedlerValue()": "Computes the Fiedler value (algebraic connectivity) of an undirected graph.", "floydWarshall()": "Computes all?pairs shortest paths using the Floyd-Warshall algorithm.", "fordFulkerson()": "Computes the maximum flow in a directed graph using the classical Ford?Fulkerson method.", "globalClustering()": "Computes the global clustering coefficient (transitivity) of an undirected graph.", "graphDensity()": "Computes the density of an undirected graph.", "johnson()": "Computes all?pairs shortest paths using Johnson?s algorithm.", "inDegree()": "Returns the in-degree of a node in a directed graph.", "isAcyclic()": "Determines whether a directed graph is acyclic (DAG).", "isBiconnected()": "Determines whether an undirected graph is biconnected.", "isConnected()": "Checks whether an undirected graph is fully connected.", "isDirected`()": "Determines whether a graph is directed by checking edge symmetry.", "isEmpty()": "Checks whether a graph contains no nodes or no edges.", "isForest()": "Determines whether an undirected graph is a forest.", "isStronglyConnected()": "Checks whether a directed graph is strongly connected.", "isTree()": "Determines whether an undirected graph is a tree.", "isUndirected()": "Determines whether a graph is undirected by verifying edge symmetry.", "isWeaklyConnected()": "Checks whether a directed graph is weakly connected.", "kCore()": "Computes the k-core of an undirected graph.", "kosarajuSCC()": "Finds all strongly connected components using Kosaraju?s two?pass algorithm.", "kruskal()": "Computes a Minimum Spanning Tree (MST) using Kruskal?s algorithm.", "kTruss()": "Computes the k-truss subgraph of an undirected graph.", "laplacian()": "Constructs the combinatorial Laplacian matrix L = D ? A of an undirected graph.", "localClustering()": "Computes the local clustering coefficient of a given vertex.", "maximalCliques()": "Enumerates all maximal cliques of an undirected graph.", "mutuallyReachable()": "Checks whether two nodes are mutually reachable in a directed graph.", "nodeCount()": "Returns the total number of nodes in the graph.", "nodeRemovalImpact()": "Computes the structural impact of removing each vertex from the graph.", "outDegree()": "Returns the out-degree of a node in a directed graph.", "prim()": "Computes a Minimum Spanning Tree (MST) using Prim?s algorithm.", "radius()": "Computes the radius of an undirected graph.", "reachableFrom()": "Returns all nodes reachable from a given source in a directed graph.", "sccCount()": "Returns the number of strongly connected components (SCCs) in a directed graph.", "sccOf()": "Returns the strongly connected component (SCC) containing the specified node.", "spectralRadius()": "Computes the spectral radius ?(A) of the adjacency matrix of an undirected graph.", "tarjanSCC()": "Finds all strongly connected components in a directed graph using Tarjan?s algorithm.", "topologicalSort()": "Computes a topological ordering of a directed acyclic graph (DAG).", "topologicalSortCondensation()": "Computes a topological ordering of the condensation graph (SCC DAG).", "transitivity()": "Computes the transitivity of an undirected graph.", "transpose()": "Computes the transpose of a directed graph by reversing all edges.", "triangleCount()": "Counts the number of triangles in an undirected graph.", "trussDecomposition()": "Computes the full truss decomposition of an undirected graph.", "vertexConnectivity()": "Computes the vertex connectivity ?(G) of an undirected graph.", "weaklyConnectedComponents()": "Finds all weakly connected components in a directed graph." } } ] } ] }