Skip to content

Rules for API level/version #23

@fatcerberus

Description

@fatcerberus

I figured I should lay out the ground rules for the new Android-like API level system.

API version is always integral ("2.0") and represents a baseline standard. Within a version functionality can only be added or deprecated, never removed or changed in an incompatible way. Games written against a specific API version will remain functional on any future engine declaring that version.

API level represents the level of feature support. Games written against a specific API level should work with any higher level as well. When the standard is expanded without breaking compatibility, this gets bumped. I would recommended we try to do this in waves, with incremental enhancements being introduced first as extensions (exposed through engine.extensions) to avoid too much proliferation of API levels.

We should strive to avoid bumping the API version at all costs. This should only be done when the API gets too clogged with legacy baggage and is desperately in need of overhaul (like the Sphere 1.x API is now).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions