---
name: ✨ Feature Request
type: Feature
description: Propose a new NetBox feature or enhancement
labels: ["netbox", "type: feature", "status: needs triage"]
body:
  - type: markdown
    attributes:
      value: >
        **NOTE:** This form is only for submitting well-formed proposals to extend or modify
        NetBox in some way. If you're trying to solve a problem but can't figure out how, or if
        you still need time to work on the details of a proposed new feature, please start a
        [discussion](https://github.com/netbox-community/netbox/discussions) instead.
  - type: input
    attributes:
      label: NetBox version
      description: What version of NetBox are you currently running?
      placeholder: v4.4.9
    validations:
      required: true
  - type: dropdown
    attributes:
      label: Feature type
      options:
        - Data model extension
        - New functionality
        - Change to existing functionality
        - Other
    validations:
      required: true
  - type: textarea
    attributes:
      label: Proposed functionality
      description: >
        Describe in detail the new feature or behavior you are proposing. Include any specific changes
        to work flows, data models, and/or the user interface. The more detail you provide here, the
        greater chance your proposal has of being discussed. Feature requests which don't include an
        actionable implementation plan will be rejected.
    validations:
      required: true
  - type: textarea
    attributes:
      label: Use case
      description: >
        Explain how adding this functionality would benefit NetBox users. What need does it address?
    validations:
      required: true
  - type: textarea
    attributes:
      label: Database changes
      description: >
        Note any changes to the database schema necessary to support the new feature. For example,
        does the proposal require adding a new model or field? (Not all new features require database
        changes.)
  - type: textarea
    attributes:
      label: External dependencies
      description: >
        List any new dependencies on external libraries or services that this new feature would
        introduce. For example, does the proposal require the installation of a new Python package?
        (Not all new features introduce new dependencies.)
