These changes are connected to new infrastructure (ApplicationEditor tech, out of T9132), but the infrastructure changes are fairly broad and various other things are getting caught up in them.
Current Status
Things to Watch Out For
- Three-eyed Ravens
Specifically, these are the incompatible or breaking changes:
- Maniphest "Can Edit <Field>" policies in Applications → Maniphest are no longer respected in the UI. This is discussed in greater detail in T10003.
- The WILLEDITTASK and DIDEDITTASK events will no longer fire for many edits, and will stop firing completely soon. See prior discussion in T9860.
- The maniphest.createtask and maniphest.update endpoints will be deprecated and removed. The new maniphest.edit endpoint replaces them both. The new endpoint should be a dramatic improvement over the old endpoints.
- Drafts (saved, unsubmitted comments in comment text areas) are moving to a new format, and you will lose any existing draft comments which haven't been submitted. If you've been using drafts to keep a personal journal or something, move it somewhere durable.
- Actions other than "Comment" no longer implicitly subscribe you to tasks. (I'm open to reconsidering this, but it was inconsistent with other applications and simpler to make consistent.)
- "Create New Project" on the task create screen has been removed. This was a weird one-off action which never worked right. This may be replaced with a more global action eventually, but it was easier to make consistent and I don't believe it's heavily used.
- Description previews have been removed from the task edit/create screen. (However, there is a new inline preview button in every remarkup field.) These will return in some more general form via T3967, but probably not for a while.
- The "Create New Empty Task", "Create a Similar Task" and "Create Another Subtask" convenience workflows have been removed. "Empty Task" seems obsolete, but some flavor of "Similar Task" may return in the future.
- There are a few mostly-minor known issues with the implementation in its current state, tracked in T10004.
Benefits
These are some of the benefits of the new infrastructure:
- You can take multiple actions when submitting a comment (for example, change priority and change projects).
- All your actions are now saved as a draft, so you won't lose the stuff you typed into, e.g., "Add Subscribers" if you close the window by accident.
- Zombie versions of old comments should no longer hang around spookily after they are submitted.
- Previews will accurately reflect what your action will do.
- The new maniphest.edit API endpoint runs the same code that the web UI runs, and should fix all of the deficiencies in the old edit endpoints.
- You can now define multiple "Create" forms, like "File a Bug", "File a Feature Request", and "Report a Security Issue".
- Each form can set field defaults and lock, hide, and reorder fields, and include workflow-specific instructions.
- Each form can have policies associated with it.
- Get started with User Guide: Customizing Forms.
- Concurrent edits by multiple users (or a single user in multiple windows) which adjust projects and subscribers will no longer overwrite one another.
- Object editing is more modular and more extensible, although you'd be crazy to touch this API anytime soon.
- Create/edit forms are universally pre-fillable with HTTP GET parameters, and there's a page explaining all the parameters for each object.
There are also major internal infrastructure benefits (for example, Conduit endpoints and EditControllers are now each about 10 lines long), but these should not generally impact users. I plan to bring this infrastructure to all applications over time. It is currently available in Maniphest, Paste and Owners.