This page lists all of the Fuchsia RFCs. For more information on the RFC process, see Fuchsia RFCs
Active RFCs
Finalized RFCs
RFC area
Accepted
RFC | Title | Area | Gerrit change |
---|---|---|---|
RFC-0001: Fuchsia Request for Comments (RFC) process |
| ||
RFC-0002: Fuchsia platform versioning |
| ||
RFC-0003: Fuchsia logging guidelines |
| ||
RFC-0004: Units of bytes |
| ||
RFC-0006: Addendum of the RFC process for Zircon |
| ||
RFC-0007: Zircon removal of thread killing |
| ||
RFC-0008: Remove zx_clock_get and zx_clock_adjust |
| ||
RFC-0009: Edge triggered async_wait |
| ||
RFC-0010: zx_channel_iovec_t support for zx_channel_write and zx_channel_call |
zx_channel_iovec_t support for zx_channel_write and zx_channel_call |
| |
RFC-0011: zx_object_get_info ZX_INFO_KMEM_STATS_EXTENDED |
| ||
RFC-0012: Zircon Discardable Memory |
| ||
RFC-0013: Cloning a VMO mapping |
| ||
RFC-0014: Relax zx_fifo_create constraints |
| ||
RFC-0015: Compatibility Tests for Fuchsia (CTF) |
| ||
RFC-0016: Boot time page sizes |
| ||
RFC-0017: The FTP Process is dead, long live the RFC Process! |
| ||
RFC-0018: FTP process: A modest proposal |
| ||
RFC-0019: Using evolution = uint64; |
| ||
RFC-0020: Interface ordinal hashing |
| ||
RFC-0021: Soft transitions for methods add and remove |
| ||
RFC-0022: Clarification: Default values for struct members |
| ||
RFC-0023: Compositional model for protocols |
| ||
RFC-0024: Mandatory source compatibility |
| ||
RFC-0025: Bit flags |
| ||
RFC-0027: You only pay for what you use |
| ||
RFC-0028: Handle rights |
| ||
RFC-0029: Increasing method ordinals |
| ||
RFC-0030: FIDL is little endian |
| ||
RFC-0033: Handling of unknown fields and strictness |
| ||
RFC-0037: Transactional message header v3 |
| ||
RFC-0040: Identifier uniqueness |
| ||
RFC-0041: Support for unifying services and devices |
| ||
RFC-0043: Documentation comment format |
| ||
RFC-0047: Tables |
| ||
RFC-0048: Explicit union ordinals |
| ||
RFC-0049: FIDL tuning process evolution |
| ||
RFC-0050: FIDL Syntax Revamp |
| ||
RFC-0052: Type aliasing and new types |
| ||
RFC-0053: Epitaphs |
| ||
RFC-0054: Parameter attributes |
| ||
RFC-0055: Documentation comments |
| ||
RFC-0056: Empty structs |
| ||
RFC-0057: Default no handles |
| ||
RFC-0058: Introduce a deprecated attribute |
| ||
RFC-0059: Reserved bits in vector, string, and array count fields |
| ||
RFC-0060: Error handling |
| ||
RFC-0061: Extensible unions |
| ||
RFC-0066: Programmer advisory explicit defaults |
| ||
RFC-0067: Additions to Fuchsia RFC process |
| ||
RFC-0068: Page Eviction Hints |
| ||
RFC-0069: Standard I/O in ELF Runner |
| ||
RFC-0070: PCI protocol changes to support legacy interrupts |
| ||
RFC-0071: OTA backstop |
| ||
RFC-0072: Standalone Image Assembly Tool |
| ||
RFC-0074: Expose Process Start Time |
| ||
RFC-0075: Deprecate Zedboot-based paving for provisioning devices |
| ||
RFC-0076: FIDL API Summaries |
| ||
RFC-0077: zx_clock_update accuracy improvement |
| ||
RFC-0078: Kernel Sanitizer Coverage for Fuchsia Fuzzing |
| ||
RFC-0079: Detecting debuglog data loss |
| ||
RFC-0080: Detecting VMO Immutability |
| ||
RFC-0081: fastboot boot |
| ||
RFC-0082: Running unmodified Linux programs on Fuchsia |
| ||
RFC-0083: FIDL versioning |
| ||
RFC-0084: Add more metrics to zx_info_task_runtime_t |
| ||
RFC-0085: Reducing the zx_status_t space |
| ||
RFC-0086: Updates to RFC-0050: FIDL Attributes Syntax |
| ||
RFC-0087: Updates to RFC-0050: FIDL Method Parameter Syntax |
| ||
RFC-0089: Core realm variations |
| ||
RFC-0090: Driver shared libraries allowlist |
| ||
RFC-0091: zx_system_get_event ZX_SYSTEM_EVENT_IMMINENT_OUT_OF_MEMORY |
| ||
RFC-0092: Sessions |
| ||
RFC-0093: Design principles of component manifests |
| ||
RFC-0094: Carnelian Virtcon |
| ||
RFC-0095: Build and assemble Workstation out-of-tree |
| ||
RFC-0096: User input architecture |
| ||
RFC-0097: FIDL Toolchain |
| ||
RFC-0098: Component Framework RFC Criteria |
| ||
RFC-0099: Introduce `zx_socket_set_disposition` |
| ||
RFC-0100: Product Metadata |
| ||
RFC-0101: Dynamic components with numbered handles |
| ||
RFC-0102: Forbid CHILD_NO_WRITE with CHILD_RESIZABLE |
| ||
RFC-0103: Software Delivery RFC Criteria |
| ||
RFC-0104: Relative Component URLs |
| ||
RFC-0105: Regular expression libraries |
| ||
RFC-0106: Component manifest includes in the Fuchsia SDK |
| ||
RFC-0107: Dynamic Offers |
| ||
RFC-0108: Component binder protocol |
| ||
RFC-0109: Fast UDP sockets |
| ||
RFC-0110: Reboot for termination of critical components |
| ||
RFC-0111: Initial Fuchsia hardware platform specifications |
| ||
RFC-0112: ACPI support on x86 |
| ||
RFC-0113: Efficient envelopes |
| ||
RFC-0114: Inlining small values in FIDL envelopes |
| ||
RFC-0115: Build Types |
| ||
RFC-0117: Component fuzzing framework |
| ||
RFC-0118: SWD policy at image assembly |
| ||
RFC-0119: System-absolute paths considered harmful |
| ||
RFC-0120: Standalone use of the FIDL wire format |
| ||
RFC-0121: Component lifecycle events |
| ||
RFC-0122: RFC Stakeholders |
| ||
RFC-0123: CPU performance info syscalls |
| ||
RFC-0124: Decentralized Product Integration: Artifact Description and Propagation |
Decentralized Product Integration: Artifact Description and Propagation |
| |
RFC-0125: Shortlinks on Fuchsia.dev |
| ||
RFC-0126: Driver Runtime |
| ||
RFC-0127: Structured Configuration |
| ||
RFC-0128: Introduce `zx_vcpu_kick` |
| ||
RFC-0129: Python Support in Fuchsia |
| ||
RFC-0130: Supported Hardware |
| ||
RFC-0131: Design principles of the FIDL wire format |
| ||
RFC-0132: FIDL table size limit |
| ||
RFC-0133: Software Delivery Goals |
| ||
RFC-0134: Software updates time dependency |
| ||
RFC-0135: Package ABI revisions |
| ||
RFC-0136: Fxfs |
| ||
RFC-0137: Discard unknown data in FIDL |
| ||
RFC-0138: Handling unknown interactions |
| ||
RFC-0139: Bazel SDK |
| ||
RFC-0140: Realm Builder |
| ||
RFC-0141: CTF Process |
| ||
RFC-0142: zx_thread_legacy_yield |
| ||
RFC-0143: Userspace Top-Byte-Ignore |
| ||
RFC-0144: Size Check Tool |
| ||
RFC-0145: Eager package updates |
| ||
RFC-0146: Structured Config Schemas in CML |
| ||
RFC-0147: View System |
| ||
RFC-0148: CI Guidelines |
| ||
RFC-0149: FIDL encode validation not mandatory |
| ||
RFC-0150: Update opt-out |
| ||
RFC-0151: Compiler tuning flags for CPU targeting |
| ||
RFC-0152: Improved OOM handling behavior |
| ||
RFC-0153: Ninja customization for Fuchsia |
| ||
RFC-0154: Subpackages |
| ||
RFC-0155: Optional capability routes |
| ||
RFC-0156: Stream Append Mode |
| ||
RFC-0157: Fxfs encryption and multi-volume support |
| ||
RFC-0158: Structured Config Accessors |
| ||
RFC-0159: Execute Only Memory |
| ||
RFC-0160: Remove support for FIDL struct defaults |
| ||
RFC-0161: Scenic Allocator API |
| ||
RFC-0162: Flatland API |
| ||
RFC-0163: Test Output Format |
| ||
RFC-0164: Test Suite API |
| ||
RFC-0165: SDK categories |
| ||
RFC-0166: One UI Stack |
| ||
RFC-0167: Packages in early userspace bootstrapping |
| ||
RFC-0168: Exposing Inspect through InspectSink |
| ||
RFC-0169: SDK Tool Compatibility |
| ||
RFC-0170: Remove binary images from the update package |
| ||
RFC-0171: Improved diagnostics routing |
| ||
RFC-0172: UI Activity Service |
| ||
RFC-0173: Structured Configuration in Component Framework APIs |
| ||
RFC-0174: Scale in Flatland |
| ||
RFC-0175: ELF Runner stdio forwarding defaults |
| ||
RFC-0176: Disallow New Dart programs in the Fuchsia Source Tree |
| ||
RFC-0177: Focus Observer for Parent Views |
| ||
RFC-0178: Multiple debug exception channels per job |
| ||
RFC-0179: Basic clipboard service |
| ||
RFC-0180: Test UI Stack |
| ||
RFC-0181: Lockless Discardable VMO |
| ||
RFC-0182: Deprecate config-data |
| ||
RFC-0183: SDK Library Documentation |
| ||
RFC-0184: POSIX Compatibility for the System Netstack |
| ||
RFC-0185: Remove `zx_interrupt_bind_vcpu` |
| ||
RFC-0186: Bazel for Fuchsia |
| ||
RFC-0187: Allow first thread in process to start with zx_thread_start |
| ||
RFC-0188: Component ABI Compatibility |
| ||
RFC-0189: Window Management |
| ||
RFC-0190: FIDL Support for Syscalls |
| ||
RFC-0191: Fuchsia-on-GCE as a supported system configuration |
| ||
RFC-0192: Device Trees on Fuchsia |
| ||
RFC-0193: Supported C++ Versions |
| ||
RFC-0194: Addendum: Sessions |
| ||
RFC-0195: Positions and ranges in text APIs |
| ||
RFC-0196: FIDL large messages |
| ||
RFC-0197: Node Groups for composites |
| ||
RFC-0198: Magma API |
| ||
RFC-0199: Protect child VMARs |
| ||
RFC-0200: Support adb protocol and interface for hardware testing |
| ||
RFC-0201: Reclaim guest VM memory |
| ||
RFC-0202: Test manager as a Service |
| ||
RFC-0203: Introduce `zx_system_energy_info` |
| ||
RFC-0204: VMO Reference Child |
| ||
RFC-0205: Vulkan Loader |
| ||
RFC-0206: Deprecate stash |
| ||
RFC-0207: Offline blob compression |
| ||
RFC-0208: Distributing Packages with the SDK |
| ||
RFC-0209: Memory priority profiles |
| ||
RFC-0210: Virtualization Capability Routing |
| ||
RFC-0211: Fuchsia on RISC-V |
| ||
RFC-0212: Package Sets |
| ||
RFC-0213: Removing devfs FIDL multiplexing |
| ||
RFC-0214: Fuchsia churn policy |
| ||
RFC-0215: Structured Configuration Parent Overrides |
| ||
RFC-0216: Fuchsia Hosted Repository Guidelines |
| ||
RFC-0217: Open Package Tracking |
| ||
RFC-0218: IOBuffer: A Peered Shared Memory Object for Efficient IO |
| ||
RFC-0219: Zircon Page Compression |
| ||
RFC-0220: The future of in-tree products |
| ||
RFC-0221: Python for out-of-tree system testing |
| ||
RFC-0222: Introduce Fuchsia Controller |
| ||
RFC-0223: zx_vmo_transfer_data |
| ||
RFC-0224: Userspace J-Extension Pointer Masking |
| ||
RFC-0225: Fxblob: Storing blobs in Fxfs |
| ||
RFC-0226: Zircon Pager Writeback |
| ||
RFC-0227: Fuchsia Release Process |
| ||
RFC-0228: FDomain: Remote control of Fuchsia targets |
| ||
RFC-0229: FIDL 2023 |
| ||
RFC-0230: Suspend-To-Idle in Fuchsia |
| ||
RFC-0231: FIDL versioning replacement syntax |
| ||
RFC-0232: FIDL bindings for multiple API levels |
| ||
RFC-0234: Updating the RISC-V ABI: RVA22 + V |
| ||
RFC-0235: Component dictionaries |
| ||
RFC-0236: VMO Snapshot-Modified Clone |
| ||
RFC-0237: Signalling Clock Updates With ZX_CLOCK_UPDATED |
| ||
RFC-0238: VMO size |
| ||
RFC-0239: Platform Versioning in Practice |
| ||
RFC-0240: Asynchronous operations are on objects |
| ||
RFC-0241: Explicit Platform / External Split in SDK Interfaces |
| ||
RFC-0242: Configuration Capabilities |
| ||
RFC-0243: WLAN Roaming |
| ||
RFC-0244: Raise user-defined Zircon exception |
| ||
RFC-0245: VMO Prefetch |
| ||
RFC-0246: API Levels are 32 bits |
| ||
RFC-0247: Enabling LTO in Fuchsia |
| ||
RFC-0248: Problem Statement |
| ||
RFC-0249: crosvm support in the platform |
| ||
RFC-0250: Power topology |
| ||
RFC-0251: No Root Access |
| ||
RFC-0252: No Physical VMO CacheOps |
| ||
RFC-0253: zx_object_get_info ZX_INFO_VMAR_MAPS |
| ||
RFC-0254: Changing Attribution for Copy-on-Write Pages |
| ||
RFC-0255: System Activity Governor |
| ||
RFC-0256: Python application bundling for Lacewing tests |
| ||
RFC-0257: storage-host: Componentizing upper-layer storage drivers |
| ||
RFC-0258: Update from C++17 to C++20 |
| ||
RFC-0259: Monotonic Clock Suspension and the Boot Timeline |
| ||
RFC-0260: Kernel Boot Time Support |
| ||
RFC-0261: Fast and efficient user space kernel emulation |
| ||
RFC-0262: Expand KMEM_STATS |
| ||
RFC-0263: Migrate driver communication to services |
| ||
RFC-0264: Running unmodified AArch32 Linux programs on Fuchsia |
| ||
RFC-0265: Counter: A simple Zircon object for synchronizing across processes |
Counter: A simple Zircon object for synchronizing across processes |
| |
RFC-0266: Memory Mappable Kernel Clocks |
| ||
RFC-0267: IOBuffer Ring Buffer Discipline |
| ||
RFC-0268: SDK category updates |
| ||
RFC-0269: Measuring Memory Stalls |
| ||
RFC-0270: Zircon Virtual Interrupt Signals |
| ||
RFC-0271: Anchored Packages |
| ||
RFC-0272: Wake Source Reporting |
| ||
RFC-0273: Handle specific information calls |
|
Rejected
RFC | Title | Area | Gerrit change |
---|---|---|---|
RFC-0005: Blobfs snapshots |
| ||
RFC-0026: Envelopes everywhere |
| ||
RFC-0031: Typed Epitaphs |
| ||
RFC-0032: Efficient envelopes |
| ||
RFC-0034: Null terminate strings |
| ||
RFC-0035: Automatic flow tracing |
| ||
RFC-0036: Update to struct declarations |
| ||
RFC-0038: Separating layout from constraints |
| ||
RFC-0039: Types come second |
| ||
RFC-0042: Non nullable types |
| ||
RFC-0044: Extensible method arguments |
| ||
RFC-0045: Zero-size empty structs |
| ||
RFC-0051: Safer structs for C++ |
| ||
RFC-0062: Method impossible |
| ||
RFC-0063: OrdinalRange |
| ||
RFC-0064: Box <Knox> |
| ||
RFC-0065: No optional strings or vectors |
| ||
RFC-0088: Updates to RFC-0050: FIDL Bits, Enum, and Constraints Syntax |
Updates to RFC-0050: FIDL Bits, Enum, and Constraints Syntax |
| |
RFC-0116: Wire format support for sparser FIDL tables |
| ||
RFC-0233: FIDL legacy by default |
|