Skip to content

chore(release): merge develop into main - #64

Merged
crapougnax merged 36 commits into
mainfrom
develop
Sep 24, 2026
Merged

crapougnax merged 36 commits into
mainfrom
develop

Conversation

@crapougnax

Copy link
Copy Markdown
Collaborator

Release Summary

This release merges validated staging changes from develop into main:

Key Capabilities & Enhancements

  • @quatrain/core: Restored deprecated getConfig and addConfig methods.
  • @quatrain/config: Canonical configuration container package (@quatrain/config).
  • @quatrain/auth-rbac: Isomorphic RBAC engine with FLS and agent guards.
  • @quatrain/ai-openai: OpenAI-compatible AI adapter (DeepSeek, Qwen, Ollama).
  • CI / Monorepo Release Engine:
    • Automated CalVer temporal release tagging (vYYYY.MM.DD) on main.
    • Automatic beta version finalization (-beta.0 -> stable SemVer) under npm dist-tag latest.
    • Ephemeral PR package publishing disabled to keep registries clean.

crapougnax and others added 30 commits August 24, 2026 09:24
…UPDATE, DELETE, MANAGE) and protocol decoupling
feat(auth-rbac): implement isomorphic RBAC security engine with FLS, M2M agent guards and tarpitting
… and pipeline triggers (#28)

* fix(docs): repair typedoc exports resolution, nextra _meta validation and pipeline triggers

* fix(docs): expose per-package API reference in navigation and accelerate CI build
…en, Ollama) (#48)

* feat(ai-openai): implement universal OpenAI-compatible AI adapter

Add @quatrain/ai-openai package providing zero-dependency integration for DeepSeek (V3/R1), Alibaba Qwen (DashScope), OpenAI, and local LLMs (Ollama) with streaming and structured JSON output.

Closes #47

* style(ai-openai): address static code analysis and markdownlint issues

Fix Codacy and SonarCloud reports: reduce cognitive complexity, eliminate regex backtracking, remove redundant optional chaining and comply with 80-col markdown formatting.

* style(ai-openai): eliminate redundant optional chains and conditional checks

* style(ai-openai): use optional chaining on config checks
)

* feat(config): implement canonical @quatrain/config registry package

- Pivot Config class extending Core and managing isolated ConfigContainer namespaces
- Fail-Fast validation via ConfigurationError for missing or blank parameters
- Hierarchical multi-source cascading (Memory > Env > Object)
- Support for dot-notation paths, camelCase mapping, and sub-scoping
- Full test suite with near-100% coverage

Closes #49

* fix(config): address Codacy security, quality and complexity feedback

- Use Map for ConfigRegistry to eliminate object injection sinks and dynamic delete
- Prevent Prototype Pollution with isSafeKey and isSafePath across all sources
- Refactor MemoryConfigSource and EnvConfigSource to use Map and Reflect
- Implement safe deepMerge in ConfigContainer.toRecord()
- Optimize scope.getAll() to retrieve sub-tree in O(1)
- Format LICENSE.md to <=80 chars line length

* fix(config): eliminate remaining Codacy injection sink and void expression in tests

* fix(config): address static analysis quality gates and security edge cases

* fix(config): eliminate array index access in MemoryConfigSource

* refactor(config): reduce cognitive complexity in EnvConfigSource and MemoryConfigSource
* fix(ci): allow mutable yarn install in docs container build to prevent lockfile resolution failure

* fix(auth): align AuthInterface User import and register signature with AbstractAuthAdapter
* fix(ci): remove PR preview package publishing

* fix(security): resolve timing attack and path traversal warnings in publish_all
@sonarqubecloud

Copy link
Copy Markdown

@Quatrain Quatrain deleted a comment from codacy-production Bot Sep 24, 2026
@crapougnax
crapougnax merged commit 0c126aa into main Sep 24, 2026
1 check passed
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.

1 participant