chore(deps): bump rand from 0.8.5 to 0.9.2#7
Closed
dependabot[bot] wants to merge 55 commits intomainfrom
Closed
Conversation
Phase 1 (implemented): fsy-types, fsy-error, fsy-config, fsy-i18n, fsy-theme, fsy-help, fsy-db, fsy-health Migrated: fsy-core, fsy-tui (from FreeSynergy.UI) Phase 2-7 (stubs): fsy-sync, fsy-store, fsy-plugin-sdk, fsy-plugin-runtime, fsy-federation, fsy-auth, fsy-bridge-sdk, fsy-container, fsy-template, fsy-crypto CI: GitHub Actions (fmt + clippy + build + test) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ui/root.rs: unified render entry point (Header+NavBar+Footer always rendered) - store_screen: extract render_body(left, main) — no own Header/Footer - settings_screen: extract render_body(left, main) — no own Header/Footer - ui/mod.rs: render() delegates to root::render() - Remove render_with_help() — help split now handled in root.rs Layout plan step 3 complete. Next: extract Sidebar/Main Compositions per tab.
Process-based stdin/stdout JSON plugin protocol (generalized from Node). fsy-plugin-sdk: - ModuleManifest, ManifestInputs, ManifestOutputFile (TOML [plugin] block) - PluginContext, InstanceInfo, PeerService, PeerRoute (Core -> plugin) - PluginResponse, OutputFile, ShellCommand, LogLine, LogLevel (plugin -> Core) - PluginCommand trait (OOP — one type per command) - CommandRouter with register() + dispatch() - run_plugin() entry point (stdin -> dispatch -> stdout) fsy-plugin-runtime: - PluginRunner: run() spawns executable + validates protocol, apply() writes files + runs commands - tracing::debug! for spawn/file logs, plugin stderr inherited
fsy-auth: - Permission, PermissionSet (dedup), Role, AccessControl trait - Claims with TTL, is_expired(), AccessControl impl - JwtSigner + JwtValidator behind jwt feature (HS256 + RS256) - FsyError::auth() constructor added to fsy-error fsy-federation: - OidcClient with discover() + userinfo() [oidc feature] - ScimClient with CRUD for users + groups [scim feature] - ActivityPub Actor, Activity, OrderedCollection types [activitypub feature] workspace: jsonwebtoken = 9 added
fsy-bridge-sdk: - BridgeConfig with builder methods (with_token, with_timeout) - Bridge trait (RPITIT) + ProbableBridge trait (object-safe, Pin<Box<dyn Future>>) - HttpBridge: composable base with get/post/put/delete + Bearer auth - BridgeRegistry: Service Locator pattern, probe_all + probe_all_map fsy-container: - RunState, HealthStatus, ContainerInfo, PortBinding (Display impls) - PodmanClient: list/list_by_label/inspect/start/stop/restart/pull/logs - SystemdManager: status/start/stop/restart/enable/disable/daemon_reload/is_active - Subprocess approach (tokio::process::Command), no bollard dep
- TemplateContext: type-safe builder (set_str/bool/i64/u64/set<T>/merge_str_map) - TemplateEngine: render_str() + render() + from_dir() + add_template() - Custom filters: to_env_key, to_slug, domain_label, indent - from_dir() globs *.tera + *.j2, graceful empty-dir handling - workspace: tera = 1, indexmap = 2 added
- AgeEncryptor/AgeDecryptor: X25519 encrypt/decrypt with ASCII armor [age feature] - generate_age_keypair(): generate X25519 keypair - CaBundle: self-signed CA generation + issue_server_cert + issue_client_cert [mtls feature] - CertBundle: PEM cert + key bundle - random_bytes/random_secret/random_hex: cryptographic random generation [keygen feature] - derive_key: PBKDF2-HMAC-SHA256 key derivation - All features optional (default = [])
- PodmanClient now uses bollard (Docker/Podman API via Unix socket) - new(): auto-discovers socket (DOCKER_HOST → rootless → root → docker) - from_socket(): explicit socket path - list/list_by_label/inspect/start/stop/restart/pull/logs via bollard - HealthStatus::from_bollard() + from_status_str() helpers - futures-util added for stream consumption (pull, logs) - systemd.rs kept as subprocess (intentional)
- LocaleBundle wraps fluent_bundle::concurrent::FluentBundle (Send+Sync)
- I18n: load_dir() scans locales/{lang}/*.ftl, load_dir_with_lang() explicit
- I18n: t(), t_with(), has(), set_lang(), add_ftl()
- Global instance: init(), init_with_lang(), t(), t_with() free functions
- args![] macro for t_with() argument pairs
- Tests: simple lookup, fallback, variable substitution
fsy-db: rewrite with SeaORM 1.x - DbBackend (Sqlite/SqliteMemory/Postgres), DbConnection wrapper - FsyEntity + Auditable base traits - WriteBuffer: async batched writes with tokio::sync::Mutex - features: sqlite (default) + postgres fsy-federation: ActivityPub via activitypub_federation crate - FsyFederationConfig builder wrapping FederationConfig<T> - FsyActor wire format with PublicKeyInfo + ActorKind - Re-exports: FederationConfig, FederationMiddleware, ObjectId, WithContext fsy-plugin-sdk: WASM-First (PluginImpl trait + plugin_main! macro) fsy-plugin-runtime: wasmtime engine (PluginRuntime + PluginHandle + ProcessPluginRunner fallback) fsy-container: bollard API (PodmanClient socket-based) fsy-i18n: Fluent (concurrent bundle, global init/t/t_with) workspace: sea-orm=1, wasmtime=28, bollard=0.18, activitypub_federation=0.6 added
…y.Desktop - Remove fsn-tui from workspace members and workspace deps - Remove ratatui, crossterm, rat-widget from workspace dependencies - Delete fsn-tui/ directory (FormNode, TextInputNode etc. → Dioxus components in fsd-*)
…ratatui - fsn-config: path resolution, backup on overwrite, auto-repair, error on missing, standalone load_toml/save_toml, read_raw - fsn-health: indicators (✓/⚠/✗), i18n keys, is_ok, issue constructors, issues_at_level filter, rules all-true - fsn-theme: remove ratatui dep (replaced by Dioxus), drop TuiPalette, keep CSS-only ThemeEngine + to_css()
…andboxing fsn-store: - Add backon crate (exponential backoff retry, 3 attempts: 1s→2s→4s) - Add DiskCache for offline fallback (persists to ~/.cache/fsn/store/) - StoreClient now retries HTTP fetches and falls back to disk cache on failure - RetryPolicy struct for configurable retry behavior - Test: offline_fallback_uses_disk_cache fsn-plugin-sdk: - Add wit/ directory with WIT interface definitions - world.wit: fsn-plugin world (imports host-log, host-fs, host-shell; exports executor) - executor.wit: manifest() + execute() with full type definitions - host-log.wit: sandboxed logging interface - host-fs.wit: sandboxed filesystem interface (access-controlled) - host-shell.wit: sandboxed shell interface (declaration-limited) fsn-plugin-runtime: - Add wasmtime-wasi dependency - PluginSandbox: capability set (read_paths, write_paths, env_vars) - PluginRuntime::load/load_file now require PluginSandbox parameter - Store<WasiP1Ctx> instead of Store<()> - WASI preview1 host functions linked via add_to_linker_sync - PluginSandbox re-exported from lib.rs
…e encryption - fsn-federation: add WebFinger (RFC 7033) module with WebFingerClient, WebFingerResponse, WebFingerLink; lookup() + lookup_acct() + unit tests - fsn-federation: add 'webfinger' feature gate + urlencoding dep - fsn-crypto: add AgePassphraseEncryptor / AgePassphraseDecryptor for vault.toml passphrase-based secret encryption - Phase 4 + 5 now complete
- Add entities: resource, permission, sync_state, plugin, audit_log - Add migration runner (Migrator::run) with embedded 001_initial_schema.sql - Fix fsn-db Cargo.toml to use workspace sea-orm with macros feature - Add wasm feature gate to fsn-plugin-runtime (wasmtime is optional now) - Add README.md for all 20 crates - Phase 6 + Allgemein complete
- ContainerStats: cpu_percent, memory_mib, memory_limit_mib, pids - PodmanClient::stats_once() — one-shot bollard stats with CPU% + RSS-like memory - PodmanClient::stats_all() — stats for all running containers, skips failures - CPU delta calculation per Docker/Podman API spec - Memory cache subtracted (cgroup v1: .cache, cgroup v2: .inactive_file)
- Add toml_maps field to I18n struct (flat key → value lookup)
- Add add_toml_str() / add_toml_map() methods with nested TOML flattening
- Update t() / t_with() with fallback chain: Fluent → TOML → fallback → key
- Add apply_args() helper for {var} substitution in TOML strings
- Add init_with_toml_strs() global function for compile-time bundled locales
- Add toml workspace dependency to fsn-i18n
- deny.toml: license allowlist (MIT/Apache/MPL/ISC/BSD), deny yanked - ci.yml: cargo-deny-action step for license + advisory checks - dependabot.yml: weekly Cargo + Actions updates, grouped by ecosystem - docs/ARCHITECTURE.md: crate map, dependency layers, key patterns
added 4 commits
March 14, 2026 19:11
- ResourceRepo, PermissionRepo, AuditRepo, PluginRepo with full CRUD - DbManager: open_default/open_sqlite/open_memory, runs migrations on open - Integration tests in manager.rs (resource CRUD, audit log, plugin upsert)
…, dark mode support feat(fsn-config): E4 – FeatureFlags struct (JSON, runtime-readable)
fsn-components (new crate): - ToastBus + ErrorBus: renderer-agnostic broadcast channels - Button (Primary/Secondary/Ghost/Danger, Sm/Md/Lg, loading, icons) - Input, Select, Textarea, Checkbox with aria-* support - FormField wrapper (Label + control + error/hint) - Card, Badge, Divider, Spinner, Tooltip - ToastProvider + use_toast() hook + ToastStack fsn-render (new crate): - ViewRenderer trait: render() + handle_event() + update() - RenderCtx: Theme + locale + FeatureFlags (injected, not global) - FeatureFlags: runtime toggles via HashMap - UserEvent: Key, Click, TextChange, FocusNext, FocusPrev, Action - RatatuiRenderer stub (feature: tui) - DioxusRenderer stub (feature: dioxus) - 5 unit tests, all green
… (E7) - ServiceHost: actor-based lifecycle supervisor (tokio task + mpsc channel) - ServiceHostHandle: cloneable, Send handle for start/shutdown/status/list - RestartPolicy: Always / OnFailure / Never + BackoffConfig (exponential) - ModuleId: typed service identifier newtype - ServiceConfig: runtime config with health_interval and shutdown_timeout - health_check_loop: background task per service, drives restart logic - PodmanClient: derive Clone (bollard::Docker is Arc-backed) - fsn-health: indicator_text() + indicator_with_text() for AT-SPI / screenreader support (E8) - fsn-db: fix missing QuerySelect import + Option<u64> for limit()
added 5 commits
March 15, 2026 10:23
Add all Phase 6 components to fsn-components: - modal.rs: Modal (backdrop), Window (floating panel) - form.rs: Form container + FormGrid (CSS grid) - controls.rs: MultiSelect, Toggle, RadioGroup, Slider - display.rs: Table, Progress, CodeBlock - layout.rs: Tabs, Sidebar, StatusBar, Breadcrumb, SearchBar, ScrollContainer - overlay.rs: ContextMenu, NotificationList, HelpPanel - app.rs: AppLauncher, ThemeSwitcher, LangSwitcher - chat.rs: LlmChat (ChatMessage, ChatRole) - tui/: TuiWidget trait + fallbacks (feature = tui) - IconButton added to button.rs All components use --fsn-color-* CSS custom properties, glassmorphism backdrop-filter, and inline animations. Phase 5 (fsn-container, fsn-template, fsn-health, fsn-bridge-sdk) confirmed done.
…gets
fsn-config:
- Add parse_str<T>() — parse TOML from a string without file I/O.
Used by fuzz targets and unit tests.
- Add fuzz/fuzz_parse_toml_value — fuzzes raw TOML parser with arbitrary input.
- Add fuzz/fuzz_parse_str_generic — fuzzes parse_str with serde_json::Value.
fsn-template:
- Add fuzz/fuzz_render_str — fuzzes render_str with arbitrary template strings.
- Add fuzz/fuzz_render_str_with_vars — fuzzes render + variable substitution.
Uses NUL-byte split to extract template and KEY=VALUE pairs from fuzz data.
Run targets: cargo fuzz run <target-name> (requires nightly)
Paket 0: - Add README.md and LICENSE (MIT) Paket 1 (fsn-types): - resource.rs: ResourceKind, ResourceMeta trait, Meta - host.rs: HostMode, HostStatus - project.rs: ProjectStatus, ProjectVisibility - module.rs: ModuleStatus, ModuleSource - permission.rs: Action, Scope - type_system.rs: ResourceType, ContainerPurpose, TypeRegistry, TypeEntry - capability.rs: Capability trait - requirement.rs: Requirement, DeclareRequirements trait - 47 unit tests, doc comments on all pub items
fsn-error: - Split in Module: validation.rs (IssueSeverity, ValidationIssue) + repair.rs (RepairAction, RepairOption, RepairOutcome, Repairable) - Neues RepairAction-Enum mit 5 Varianten + describe() für Audit-Log - RepairOutcome::AutoRepaired trägt jetzt Vec<RepairAction> statt String - 11 Tests (alle grün) fsn-config: - Split in Module: loader.rs, schema.rs, validator.rs, repair.rs - loader.rs: ConfigLoader, FeatureFlags, standalone helpers - schema.rs: ConfigSchema + FieldSchema + FieldKind (Builder-Pattern) - validator.rs: SchemaValidator — prüft toml::Value gegen ConfigSchema - repair.rs: TomlRepair — suggest() + apply() mit Pfad-Navigation - Fuzz-Targets bleiben kompatibel (parse_str re-exportiert) - 25 Tests + 1 Doc-Test (alle grün)
… fsn-db domain entities - fsn-i18n: add tools.rs with find_missing() and SnippetPlugin trait - fsn-i18n: add keys_for_lang() method to I18n struct - fsn-crypto: add tokens.rs with JoinToken, JoinTokenError, generate_recovery_token() - fsn-db: add host, project, module, service_registry entities - fsn-db: add migration 002 for domain entities - fsn-db: add HostRepo, ProjectRepo, ModuleRepo, ServiceRegistryRepo - All tests green (53 + 33 + 8)
f2a2f40 to
8bcd4a5
Compare
added 7 commits
March 15, 2026 15:16
Paket 7 — fsn-sync: already complete (3 tests green, SyncDoc/SyncPeer/SyncEngine/WsTransport) Paket 8 — fsn-theme: - Add themes/freesynergy-dark.toml (canonical house-style theme) Paket 9 — fsn-pkg: - capability_match.rs: ServiceCapabilities, CapabilityRegistry, CapabilityMatcher - variable_types.rs: VariableKind (14 plain + 5 encrypted), VariableSpec, validators - variable_roles.rs: VariableRole parser, KNOWN_ROLES catalogue, RoleRegistry - dependency_resolver.rs: DepGraph, DependencyResolver (Kahn's), transitive_deps() - scaling.rs: WorkerMode, ScalingManifest, InstanceRole, ScalingDialog Paket 9 — fsn-store: - search.rs: StoreSearch, SearchQuery, HasTags trait, relevance scoring - permissions.rs: StoreRole (Guest/User/NodeAdmin/Admin), StoreAction, StorePermissions Total: 116 new tests (68 fsn-pkg + 21 fsn-store + 27 fsn-theme), all green
…t fix - fsn-plugin-sdk: traits.rs with PluginInstall/PluginRemove/PluginUpgrade/PluginLifecycle (4 tests) - fsn-federation: well_known.rs with WellKnownPath, NodeInfoPointer, HostMeta (9 tests) - fsn-components: fix ToastBus doctest missing use statements
…/help/bridge Paket 13 — fsn-container + fsn-template + fsn-health - fsn-container: Complete rewrite, no bollard/socket - QuadletManager: create/backup/rollback Quadlet .container files - ServiceConfig: declarative service description → Quadlet rendering - SystemctlManager: async systemctl --user wrapper (start/stop/status/logs) - 11 tests green - fsn-template: add TemplateValidator (unknown var detection, required var check) - TemplateContext.contains_key() added - 10 tests green - fsn-health: split into checker.rs (HealthCheck trait) + reporter.rs (HealthLevel/Status/Rules) - 14 tests green Paket 14 — fsn-ui - New Dioxus 0.6 component crate (27 components) - button, icon_button, window, form, input, select, table, toast - sidebar, status_bar, card, badge, progress, spinner - tabs, scroll_container, modal, search_bar, tooltip - context_menu, app_launcher, notification - help_panel, theme_switcher, lang_switcher, llm_chat, code_block - fsn- CSS prefix, --fsn-color-* variables, RTL support, tui feature flag Paket 15 — fsn-help + fsn-bridge-sdk - fsn-help: split into topic.rs / search.rs / context.rs modules, 6 tests green - fsn-bridge-sdk: already complete (Bridge/ProbableBridge/HttpBridge/BridgeRegistry)
FsyError → FsnError (all 40+ files) FsyEntity → FsnEntity (fsn-db) FsyFederationConfig → FsnFederationConfig (fsn-federation) FsyActor → FsnActor (fsn-federation) No more Fsy* identifiers anywhere in the codebase.
TUI rendering is handled by fsn-tui in FreeSynergy.Node; ratatui has no place in the shared Lib. Remove the `tui` feature, ratatui dep, tui/mod.rs, and all references from lib.rs.
8bcd4a5 to
e79d15f
Compare
added 2 commits
March 16, 2026 02:39
Named-size (Sm/Md/Lg) spinner API on top of existing raw-pixel Spinner. LoadingOverlay centers a spinner + optional text message.
- Replace CSS_VAR_MAP + match-on-string with CSS_VAR_SETTERS (fn pointers) - Add ShadowLevel::css_var(), AnimationKind::css_var() + default_ms() - Simplify SystemTheme + HighContrastTheme impls to use enum methods - Fix to_css() to reuse ColorPalette::to_css_vars() (removes 15 duplicate lines) - Add ColorPalette::to_tailwind_colors() + use in to_tailwind_config()
Add FsnSidebarItem, FSN_SIDEBAR_CSS, and FsnSidebar — a 48px icon-only sidebar that expands to 220px on hover, usable by all Desktop crates.
- Add meta.toml per language (schema_version, completeness) - EN marked as schema source (is_schema = true, 100%) - DE already complete (100%), all others 82% (58 TODO keys each) - Missing keys added as commented TODO placeholders in 5 files per lang (help, phrases, status, time, validation) - Add sync_snippets.py: developer tool to resync after EN changes
…VARS Store theme helpers moved here as the canonical location. Both fsd-shell and fsd-settings now re-use these from fsn-theme instead of maintaining local copies.
palette.rs — ColorPalette + CSS/Tailwind emission types.rs — Typography, Spacing, Glass, Animation, Shadows, ShadowLevel, AnimationKind theme.rs — Theme struct provider.rs — ThemeProvider trait + TomlTheme, SystemTheme, HighContrastTheme engine.rs — ThemeEngine (CSS + Tailwind generation) registry.rs — ThemeRegistry store.rs — REQUIRED_VARS, prefix_theme_css, validate_theme_vars lib.rs — mod declarations, pub use re-exports, tests All 30 unit tests and 3 doc-tests pass.
C1: FreeSynergy.Init binary with gitoxide clone + clap CLI
C2: PackageType (9 variants), PackageMeta icon/type/channel,
installed_packages SQLite entity + InstalledPackageRepo + migration 003
C3: ReleaseChannel, VersionManager, VersionRecord, RollbackError
C4: FsnSigningKey/VerifyingKey/PackageSignature (fsn-crypto, ed25519-dalek),
SignatureVerifier + SignaturePolicy (RequireSigned/TrustUnsigned)
Bumps [rand](https://github.com/rust-random/rand) from 0.8.5 to 0.9.2. - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](rust-random/rand@0.8.5...rand_core-0.9.2) --- updated-dependencies: - dependency-name: rand dependency-version: 0.9.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
e79d15f to
3965551
Compare
Author
|
Dependabot can't resolve your Rust dependency files. Because of this, Dependabot cannot update this pull request. |
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps rand from 0.8.5 to 0.9.2.
Changelog
Sourced from rand's changelog.
... (truncated)
Commits
d3dd415Prepare rand_core 0.9.2 (#1605)99fabd2Prepare rand_core 0.9.2c7fe1c4rand: re-exportrand_core(#1604)db2b1e0rand: re-exportrand_coreee1d96frand_core: implement reborrow forUnwrapMut(#1595)e0eb2eerand_core: implement reborrow forUnwrapMut975f602fixup clippy 1.85 warnings775b05bRelaxSizedrequirements for blanket impls (#1593)ec6d5c0Prepare rand_core v0.9.1 (#1591)6a06056rand_core: introduce an UnwrapMut wrapper (#1589)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)