Topics and suggested changes for 2.0
The following wiki pages are to flesh out the various ideas and changes suggested for Jenkins 2.0. The descriptions aren't final and just capture the state of the discussion. Each topic should be fleshed out on its own wiki page.
User-visible changes
2.0 Out-of-the-box experience
2.0 UX improvements
A more powerful plugin manager. A revamped UI for configuring jobs, views, slaves, etc. An easier to use "New Item/View/Slave" dialog.
2.0 Website
A better web site, which could include curated documentation, more visible events and blog, and/or a usable plugin index.
Configuration API
It's cumbersome to set up Jenkins in config management tools such as Chef. A proper API for configuring Jenkins would make this easier. The CLI isn't enough.
Internal changes
Backward compatibility policy
Deprecated methods remain around forever, polluting code and documentation and making new development more cumbersome.
Storage Backend Changes
Move parts of file storage into a database and/or make it pluggable.
Servlet 3.x and Java 8
Servlet 3.x enables alternatives to polling Jenkins for changes; while Java 8 could enable more modern programming practices.
- JENKINS-27624 Upgrade minimum require Java version from 7 to 8
2.0 JavaScript Modularization
Emphasize UIs created in JavaScript, provide a simple framework for JS libraries that plugins can make use of.
Move Groovy out of core
Enable more flexible upgrades of Groovy.
- JENKINS-29068 Split Groovy out of core
Hiding core libraries from plugins
Better isolation of the libraries core uses from plugins, so that "not breaking plugins" doesn't have to be a concern for use of libraries that should be internal to core.
- JENKINS-30685 Hide core dependencies in plugin classpath