Skip to content

Release/1.0.0#13

Merged
JosunLP merged 35 commits intomainfrom
release/1.0.0
Nov 15, 2025
Merged

Release/1.0.0#13
JosunLP merged 35 commits intomainfrom
release/1.0.0

Conversation

@JosunLP
Copy link
Contributor

@JosunLP JosunLP commented Nov 15, 2025

This pull request introduces significant enhancements and updates to the HypnoScript project, focusing on expanding language features, improving documentation, and adding new CLI capabilities. The changes include a major update to the README with detailed feature lists and examples, new compiler and runtime capabilities, expanded test coverage, and additional dependencies for CSV and HTTP support. The CLI now supports native compilation and advanced optimization options.

Major Documentation and Feature Updates:

  • Expanded the README.md to document new language features such as hypnotic operator synonyms, advanced pattern matching, triggers (event-driven callbacks), nullish operators, and extended builtins. Added comprehensive examples and references to detailed docs. (Fcd54cc8L9R106, README.mdR289-R446)
  • Updated project structure and module descriptions in README.md, including new compiler backend components and improved documentation references.
  • Added a detailed section on test coverage, showing 185+ tests across all modules, and instructions for running compiler-specific tests.
  • Enhanced migration and feature status reporting, listing completed and planned features for the compiler backend, runtime, and CLI. [1] [2]

CLI and Build System Improvements:

  • Added new CLI commands for native compilation (CompileNative) and code optimization (Optimize), with support for target platforms and optimization levels.
  • Updated dependencies in Cargo.toml to include reqwest (HTTP client) and csv, preparing for future runtime and utility features.
  • Bumped workspace version to 1.0.0-rc4 in Cargo.toml.

Quality and Linting Enhancements:

  • Improved code quality instructions in README.md, updating linting commands to use all targets and features for Clippy.

Compiler and Runtime Expansion:

  • Refactored CLI imports to support new compiler modules: NativeCodeGenerator, Optimizer, OptimizationLevel, TargetPlatform, and WasmBinaryGenerator.

These changes collectively make HypnoScript more robust, feature-rich, and developer-friendly, laying the groundwork for advanced compilation targets and language ergonomics.

JosunLP and others added 29 commits November 13, 2025 15:37
This workflow automatically marks and closes stale issues and pull requests based on inactivity.
* feat: Add unified installer script for HypnoScript runtime

- Introduced `install.sh` for automatic installation, updates, and uninstallation of HypnoScript runtime.
- Updated GitHub Actions workflow to include the installer in release artifacts.
- Enhanced documentation to include instructions for using the new installer.
- Added self-update functionality to the CLI for checking and installing the latest version.
- Updated package dependencies in `Cargo.toml` for improved functionality.
- Modified build scripts to copy the new installer script into release packages.

* fix: Update regex patterns for branch type matching in labeler configuration
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…einfachung von Bedingungen in mehreren Dateien
…e die Lesbarkeit von Bedingungen in mehreren Dateien
…rkeit der Bedingung in `find_shared_installer`
…ierung hinzu; verbessere CLI-Befehlsübersicht und Installationstext
… Ausgaben, um die Konsistenz zu verbessern und die Benutzererfahrung zu vereinfachen.
…ge als informativ, um übermäßige Warnungen zu vermeiden.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…e Umgebungsvariablenbehandlung; füge Sicherheitswarnungen hinzu und optimiere die Fehlerbehandlung in der Skriptlogik.
…re die Fehlerbehandlung im Installer-Skript.
…urch Vereinfachung der Funktionsaufrufe zur Ableitung des Installationspfads.
…r Winget-Manifestdatei; füge ein Skript zur Synchronisierung der Version hinzu.
* feat: Add API and CLI builtins for HTTP requests and command-line argument parsing

- Introduced `api_builtins` module for handling HTTP requests with support for various methods and authentication strategies.
- Added `cli_builtins` module for parsing command-line arguments and prompting user input.
- Implemented `data_builtins` for JSON and CSV utilities, including parsing, querying, and serialization.
- Enhanced `file_builtins` with functions for reading and writing lines to files, and copying directories recursively.
- Created `service_builtins` for managing service health metrics and retry schedules.
- Added localization support with `localization` module for handling translations and locale detection.
- Updated `Cargo.toml` to include new dependencies for HTTP and CSV handling.
- Added tests for new functionalities to ensure reliability and correctness.

chore: Bump version to 1.0.0-rc3 in package.json and build scripts

* Enhance HypnoScript with new features and improvements

- Updated README.md to reflect new built-in functions and performance improvements.
- Added cryptographic functions (SHA-256, SHA-512, MD5, Base64, UUID) to hashing_builtins.rs.
- Implemented functional programming operations (map, filter, reduce, etc.) in array_builtins.rs.
- Introduced localization support in core_builtins.rs for hypnotic functions.
- Expanded math_builtins.rs with additional mathematical functions (inverse trig, hyperbolic, angle conversion).
- Enhanced string_builtins.rs with new string manipulation functions (trim, insert, remove, wrap text).
- Increased test coverage across all built-in functions to ensure reliability and correctness.

* Add advanced string manipulation and dictionary builtins

- Introduced `advanced_string_builtins` module with functions for string similarity metrics, phonetic algorithms, and fuzzy matching utilities.
- Enhanced `string_builtins` with comprehensive documentation and Unicode-aware methods.
- Implemented `dictionary_builtins` for key-value collection operations, including creation, retrieval, and manipulation of JSON-based dictionaries.
- Added `builtin_trait` for consistent error handling and metadata across builtin modules.
- Updated `lib.rs` to include new modules and re-export relevant types for easier access.

* feat: Add collection builtins and enhance existing modules with metadata and examples

* feat: Enhance HypnoScript Compiler with Native Code Generation and Optimizations

- Added support for compiling HypnoScript to native binaries targeting various platforms (Windows, macOS, Linux).
- Introduced a new `NativeCodeGenerator` module with configuration options for optimization levels and target platforms.
- Implemented a basic structure for code optimization, including constant folding and placeholders for additional optimization passes.
- Added a `WasmBinaryGenerator` for generating binary WebAssembly (.wasm) files directly from the AST.
- Updated the CLI to support new commands for compiling to native binaries and optimizing HypnoScript code.
- Enhanced documentation for new features and modules, including usage examples.
- Added test cases for the new compiler features and optimizations.

* feat: Update HypnoScript Compiler with Cranelift backend and enhance WASM generation

- Added support for Cranelift as the native code generation backend.
- Updated .gitignore to exclude compiled artifacts.
- Enhanced README with detailed features and usage examples.
- Improved documentation in lib.rs and native_codegen.rs.
- Implemented session handling and function declarations in WASM code generation.
- Removed obsolete test_compiler.hyp file.

* feat: Introduce new language features including embed, pendulum loops, murmur for debug output, and pattern matching with entrain

- Added `embed` for deep variable declarations.
- Implemented `pendulum` for bidirectional loop syntax.
- Introduced `murmur` for quiet debug output.
- Added pattern matching capabilities with `entrain`, including support for literals, identifiers, and guards.
- Implemented nullish coalescing operator (`lucidFallback`) and optional chaining (`dreamReach`).
- Enhanced the parser and token definitions to support new keywords and syntax.
- Created comprehensive test cases for all new features to ensure functionality and correctness.

* feat: Implement loop statement enhancements with support for initialization, condition, and update clauses; unify loop and pendulum syntax

* feat: Enhance variable handling by introducing storage types and updating declaration parsing

* fix: Update error messages in DataError enum to English
* Implement tranceify feature for custom record types

- Added support for defining custom record types using the `tranceify` keyword in the HypnoScript language.
- Introduced `RecordValue` struct to represent record instances.
- Enhanced the `Value` enum to include records and updated related methods for equality, display, and truthiness checks.
- Implemented type checking for tranceify declarations and record literals, ensuring field existence and type compatibility.
- Updated the AST to include nodes for tranceify declarations and record literals.
- Enhanced the parser to handle tranceify declarations and record literals.
- Created comprehensive test cases for various tranceify scenarios, including basic declarations, nested records, and calculations.
- Added documentation for tranceify in the language reference and examples section.

* Add documentation for hypnotic operator synonyms, pattern matching, and triggers

- Introduced a new document for hypnotic operator synonyms, detailing their usage and examples.
- Created a comprehensive guide on pattern matching with `entrain`, including various pattern types and real-world examples.
- Added a section on triggers, explaining their purpose, syntax, and integration with event handling and asynchronous operations.
- Updated syntax documentation to reflect changes in function definitions from `Trance` to `suggestion`.
- Enhanced the interpreter reference with examples of robust error handling and recursion limits.
- Updated the parser documentation to include supported language constructs and examples.

* Füge Regeln für Top-Level-Blöcke hinzu: `entrance` und `finale` sind nur auf oberster Ebene erlaubt; Parser-Fehler für ungültige Platzierungen implementiert.

* Refactor code for improved readability and maintainability

- Cleaned up formatting and indentation in `wasm_codegen.rs`, `parser.rs`, and various built-in modules for consistency.
- Enhanced error messages and localization support in built-in modules.
- Added new test case for parsing entrain with record pattern in `parser.rs`.
- Updated version numbers in `package.json` and build scripts to 1.0.0-rc4.
- Improved handling of record field patterns in `parser.rs`.
- Refactored function signatures for clarity in multiple built-in modules.
- Adjusted assertions in tests for better readability.

* Aktualisiere hypnotische Synonyme für Vergleichsoperatoren und füge Hinweise zur String-Konkatenation hinzu; verbessere Dokumentation für Pattern Matching.
@JosunLP JosunLP self-assigned this Nov 15, 2025
@JosunLP JosunLP added this to the 1.0.0 milestone Nov 15, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request introduces HypnoScript 1.0.0-rc4, a major release adding significant language features and runtime capabilities. The changes establish a more mature, feature-complete hypnotic programming language with modern constructs like pattern matching, async/await, nullish operators, and record types.

Key Changes:

  • New language features: pattern matching (entrain/when/otherwise), triggers (event callbacks), record types (tranceify), async operations (await/surrenderTo), and nullish operators (??, ?.)
  • Expanded runtime with 10+ new builtin modules including localization (i18n), API/HTTP client, CLI utilities, data processing (CSV/JSON), and service-oriented features
  • Enhanced parser with strict context enforcement for entrance/finale/trigger (top-level only), improved loop syntax supporting both infinite and C-style for-loops
  • Comprehensive test coverage with 185+ tests across new features

Reviewed Changes

Copilot reviewed 80 out of 81 changed files in this pull request and generated no comments.

Show a summary per file
File Description
scripts/* Version bump to 1.0.0-rc4 across all build scripts (Windows, macOS, Linux, DEB)
package.json Version update for workspace documentation tooling
hypnoscript-tests/*.hyp New test files for tranceify, pattern matching, pendulum loops, async, channels, and extended builtins
hypnoscript-runtime/src/*_builtins.rs Added/enhanced 10+ builtin modules with BuiltinModule trait, i18n support, and comprehensive documentation
hypnoscript-runtime/src/localization.rs New i18n framework with Locale and LocalizedMessage types
hypnoscript-runtime/src/builtin_trait.rs DRY-compliant trait for standardizing builtin modules with metadata and error handling
hypnoscript-runtime/Cargo.toml New dependencies: reqwest, csv, sha2, md5, base64, uuid
hypnoscript-lexer-parser/src/token.rs 20+ new token types for modern language features (embed, pendulum, entrain, await, etc.)
hypnoscript-lexer-parser/src/lexer.rs Support for =>, ??, ?., ..., |, & operators
hypnoscript-lexer-parser/src/parser.rs Pattern matching, record literals, loop enhancements, context-aware parsing with top-level enforcement
hypnoscript-lexer-parser/src/ast.rs New AST nodes for entrain, tranceify, await, nullish operators, optional chaining
hypnoscript-docs/docs/**/*.md Comprehensive documentation for triggers, tranceify, pattern matching, operator synonyms

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 83 out of 84 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@JosunLP JosunLP merged commit a90f54c into main Nov 15, 2025
19 checks passed
@JosunLP JosunLP deleted the release/1.0.0 branch November 15, 2025 11:25
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