WEEKLY UPDATE FROM THE REPOS OF NEAR [26-05.03.2026]
The devs are cooking. Here's what shipped this week across the NEAR repositories! 📟
1/ HOST FUNCTION ADDITION - nearcore: Transfer to Gas Key
What changed:
• Added `promise_batch_action_transfer_to_gas_key` host function gated at protocol version 149 via `gas_key_host_fns` feature flag
• Implemented host function in both nearvm and wasmtime VM runners with full External trait integration
• Wired up runtime implementation in `RuntimeExt` and `ReceiptManager` to create `TransferToGasKeyAction`
• Added VM-level tests for action creation and insufficient balance errors, plus test-loop integration test
Why it matters:
This pull request (
github.com/near/nearcore/pul…) enables smart contracts to programmatically transfer tokens to gas keys via promise batch actions, expanding gas key functionality beyond manual operations - developers can now build contracts that automate gas key funding.
2/ SYNC REFACTOR - nearcore: Decoupled Epoch Sync Horizon from Proof Freshness
What changed:
• Introduced `EPOCH_SYNC_PROOF_MAX_AGE_NUM_EPOCHS = 3` constant for proof staleness validation in `apply_proof()`, with compile-time assertion linking it to `MIN_GC_NUM_EPOCHS_TO_KEEP`.
• Lowered `epoch_sync_horizon_num_epochs` default from 4 to 2 epochs to align with state sync trigger threshold.
• Updated OpenAPI schemas and client configuration documentation to reflect the new default and clarify that the horizon no longer controls proof freshness checks.
• Fixed integration tests that relied on the previous 4-epoch horizon by disabling epoch sync where chain length is insufficient for proof derivation.
Why it matters:
This pull request (
github.com/near/nearcore/pul…) enables ContinuousEpochSync to trigger earlier without incorrectly rejecting valid proofs, improving sync responsiveness - developers should verify custom `epoch_sync_horizon_num_epochs` configurations remain appropriate for their use case.
3/ CONFIG OPTION - nearcore: Manual Tier3 Public Address Override
What changed:
• Added `experimental.tier3_public_addr` config option to manually set the public address for Tier3 state sync connections
• Bypasses automatic address discovery when configured
• Exposed a metric tracking the Tier3 own address
Why it matters:
This pull request (
github.com/near/nearcore/pul…) enables operators to explicitly configure Tier3 networking for state sync, useful in environments where auto-discovery fails (e.g., NAT, firewalls, or custom network topologies).
4/ NEW RELEASE - intents global-deployer/v0.1.0
What changed:
• Replaced xtask build system with Makefile for simpler contract compilation and reproducible builds
• Added typed API for promise results with `promise_result_checked_json` to safely parse cross-contract call responses
• Introduced multifunctional event system with backward-compatible versioning and intent-to-event conversion
• Implemented two-step deployment flow in global-deployer for safer contract initialization
• Upgraded to cargo-near prebuilt binaries and bumped near-sdk dependencies across all contracts
Why it matters:
This release (
github.com/near/intents/rele…) improves developer experience with streamlined builds via `make`, reduces cross-contract call errors through typed promise parsing, and enhances deployment safety with staged initialization - review the updated Makefile if building contracts locally.
5/ NEW RELEASE - near-jsonrpc-client-kotlin v1.0.28
What changed:
• Regenerated client from OpenAPI spec with significant serializer refactoring (~15,000 lines removed)
• Added support for gas key operations: `TransferToGasKeyAction`, `WithdrawFromGasKeyAction`, and `GasKeyNoncesView`
• Introduced new error types: `DepositCostFailureReason` and expanded `InvalidTxError` with additional validation cases
• Implemented `BlindUnionSerializer` for improved polymorphic type handling
• Added `TrieSplit` model for state management and removed deprecated `DynamicReshardingConfigView`
Why it matters:
This release (
github.com/near/near-jsonrpc…) brings the client in sync with the latest NEAR protocol features, particularly gas key functionality, while drastically simplifying serialization code - update to access new transaction types and improved error handling.
6/ NEW RELEASE - near-cli-rs v0.24.0
What changed:
• Added `transaction construct-meta-transaction` command to explicitly construct and sign delegate actions (meta-transactions)
• Introduced `sign_as_delegate_action` context flag propagated through `ConstructTransactionContext` → `ActionContext` → `TransactionContext`
• Updated all signers (`sign_with_keychain`, `sign_with_ledger`, `sign_with_private_key`, etc.) to check the unified `sign_as_delegate_action` flag instead of `meta_transaction_relayer_url`
• Enhanced `send` step to return a user-facing error when a `SignedDelegateAction` is produced without a configured relayer URL
Why it matters:
This release (
github.com/near/near-cli-rs/…) enables developers to explicitly construct meta-transactions via CLI without relying on implicit relayer URL configuration - useful for dApps supporting meta-transactions and NEAR Connect workflows.
7/ NEW RELEASE - near-api-rs v0.8.4
What changed:
• Added support for minimal transaction responses when using NONE or INCLUDED wait_until options
• Implemented Deref trait for NonDelegateAction with improved formatting
• Upgraded codebase to Rust edition 2024
• Bumped MSRV to 1.86 and near-sandbox to 0.3.7
Why it matters:
This release (
github.com/near/near-api-rs/…) improves transaction handling efficiency by supporting minimal RPC responses and modernizes the codebase with Rust 2024 - update your toolchain to 1.86 if using this library.
8/ TYPE GENERATION FIX - near-openapi-client-rs: Corrected Serialization Format
What changed:
• Fixed `GlobalContractIdentifierView` enum serialization from incorrect `#[serde(untagged)]` bare strings to correct externally tagged format (`{"hash": "..."}` / `{"account_id": "..."}`)
• Regenerated types from updated nearcore OpenAPI spec (Dec 23)
• Added experimental RPC methods (`experimental_call_function`, `experimental_view_*`) to client
• Fixed broken doctests with correct language tags and async wrappers
Why it matters:
This pull request (
github.com/near/near-openapi…) resolves deserialization failures for transactions containing `DeterministicStateInit` actions, fixing a critical bug reported in near-api-rs (
github.com/near/near-api-rs/…) - update your dependency to avoid runtime errors.
9/ DOCS CLARIFICATION - docs: secp256k1 Signing Support
What changed:
• Updated FAQ to clarify that both `secp256k1` and `ed25519` curves are supported for signing transactions, not just `ed25519`
Why it matters:
This pull request (
github.com/near/docs/pull/29…) corrects misleading documentation that could prevent developers from using existing Ethereum-compatible `secp256k1` tooling and infrastructure when building on NEAR.
10/ TWO-STEP DEPLOYMENT - intents: Approval-Based Code Upgrades
What changed:
• Introduced `gd_approve(old_hash, new_hash)` requiring explicit approval before deploying new contract code
• Added `gd_approved_hash()` view method to query the currently approved code hash
• Removed index-based deployment mechanism in favor of hash-based validation
• Added `gd_approve_and_deploy()` convenience method combining approval and deployment in one transaction
• Implemented automatic approval reset after successful deployment or ownership transfer
Why it matters:
This pull request (
github.com/near/intents/pull…) strengthens security for global contract deployments by requiring pre-approval of code hashes, preventing unauthorized upgrades and ensuring only validated bytecode can be deployed.
Check out the full repositories:
1.
github.com/near/nearcore
2.
github.com/near/intents
3.
github.com/near/near-jsonrpc…
4.
github.com/near/near-cli-rs
5.
github.com/near/near-api-rs
6.
github.com/near/near-openapi…
7.
github.com/near/docs
Sign up and get the weekly NEAR ecosystem newsletter at:
subscribe.nearweek.com