This plugin provides a new enhanced API for interacting with SCM systems.
Release notes for versions after v2.6.3 are tracked via GitHub Releases.
- Skipped version numbers due to release failure
- Push minimum Jenkins version back to 2.107.3
- JENKINS-43802 - Support Shared Library using folder-scoped credential
- Improved "exclusions by name" help text
- Fixed synchronization on termination of execution service
- Improve guessing nice names from URLs (PR-64)
- Use own executor service to isolate long-running events from other work (PR-61)
- Jenkins 2.164.3 is the new required minimum version of Jenkins
- Java 8 and Jenkins 2.60.3 are the new required minimum versions.
- PR-63 Internal changes for better Java 11 compatibility
- Restore workaround for Jenkins Core Util.isOverridden until JENKINS-56660 is fixed
- JENKINS-56656 Enhance mock test harness to allow for testing change request trustability
- Various code tidy-ups PR-60 PR-59
- Code tidy up identified bug in Jenkins Core. Do not use this release. Fix is in 2.3.2
- JENKINS-52964 - add
SCMFileSystem.Builder#supports(SCMSourceDescriptor)
and#supports(SCMDescriptor)
methods.
- Add traits-related methods to
SCMNavigator
andSCMSource
base classes. - Minor improvement to
WildcardSCMHeadFilterTrait
help documentation.
- Fix JENKINS-50777 exported API for SCMRevisionAction and SCMSource
- Enhanced the mock implementation test harness to allow testing SCMSource.afterSave() and SCMNavigator.afterSave() (no changes to user code)
- Add a utility API to allow implementation plugins to use a standard mechanism for normalizing SCM URIs in order to assist comparisons (no user visible changes)
- Clarify the help text for the built in filters.
The built in filters treat the SCMHead name as a name, no special processing.
A lot of people were wondering why when they set a filter like
master feature/*
why none of the PRs were building... the reason being thatPR-123
does not match the filter. When using the filters built in to SCM-API you probably want something likemaster feature/* PR-*
to get PRs to build. An alternative filter implementation that probably does what you actually want is SCM Filter Branch PR Plugin as that will filter non-change requests like the built in filters but has a special case for PRs where instead it filters those based on the PR target head rather than the name of the PR (which will always be PR-... unless the SCMSource uses a different prefix for its change request concept
- JENKINS-47295 Update to parent pom 2.36
Changes to test framework; no user-visible change.
Version 2.2.1 (Aug 22, 2017)
Changes to test framework; no user-visible change.
- JENKINS-45436 API to generate (mostly) human readable names of SCM server URLs
- JENKINS-45434 Add an avatar cache so that SCMs that providing fixed size avatars can convert to Jenkins native sizes
- JENKINS-45331 Prevent log-spam when instantiating trait based SCMNavigator / SCMSource implementations
- JENKINS-43507 Allow SCMSource and SCMNavigator subtypes to share common traits
- JENKINS-44891 Migrate SCMSource's id field to a @DataBoundSetter
- JENKINS-44884 Add @Symbol annotations
- JENKINS-44648 SCMRevisionAction should record corresponding source
- JENKINS-43433 Allow SCMSource implementations to expose merge and origin of change request heads
- JENKINS-41736 Add ability for SCMEvents to be contextually self-describing
- JENKINS-42542
SCMHeadObserver.observe(SCMHead,SCMRevision)
should be allowed to throw IO and Interrupted exceptions
- No user facing changes. The plugin is effectively identical to the 2.0.4 release.
- Added
AbstractSampleRepoRule
&AbstractSampleDVCSRepoRule
to the test harness.
- No user facing changes. The plugin is effectively identical to the 2.0.4 release.
- Test harness updates
- No user facing changes. The plugin is effectively identical to the 2.0.4 release.
- Test harness updates
- No user facing changes. The plugin is effectively identical to the 2.0.4 release.
- JENKINS-42150 update the test harness to allow the mock implementation to have fake latency
- PR-28 update the documentation for implementers of the SCM API
- PR-31 update the test dependencies to make running the plugin compatibility test suite against newer Jenkins versions easier
- JENKINS-42000 API change to enable fix of JENKINS-42000
- JENKINS-41795 Add a way to track the origin of SCM Events
- JENKINS-41453
- JENKINS-41121
- Scare admins away from doing partial updates
- Need to be able to recover a controller with a specific ID for LocalData tests
- Make MockSCM usable from Pipeline's checkout step
- JENKINS-40828 Fix some NPEs found when using downstream
- Tags need a timestamp
- JENKINS-38718
- JENKINS-40829
- JENKINS-40828
- JENKINS-40827
- Javadoc errors to zero
- Merge pull request #19 from jenkinsci/navigator-ids
- Merge pull request #18 from jenkinsci/important-doc-on-ids
- Noting correct issue
- Fix namespace
- Add utilities to assist with event related testing
- Simplify the child creation
- NPE from findbugs
- towards 2.0.1
- Signature should be `of(Item,SCM)` not `of(SCM)`
- SPI should not call back to API
- EventListeners expect to be ACL.SYSTEM when notified
This release caused JENKINS-41121.
- Please read this Blog Post before upgrading
- Released to experimental update center to allow testing the downstream changes in github-branch-source and bitbucket-branch-source (both of which need upgrading to at least 2.0.0-beta-1 if you have them installed on your master)
- JENKINS-38987 Added pronouns to assist consuming plugins to name concepts like: SCMHead; SCMSource; and SCMNavigator with SCM specific idiomatic names, e.g. GitHub can respectively provide pronouns "Branch"/"Tag"/"Pull request"; "Repository"; "Server", whereas something like Accurev could provide pronouns "Stream"/"Snapshot"; "Depot"; "Repository". The pronouns are more relevant for SCMHead as typically each SCM implementation is likely to have more than one type of head: mainlines, branches, tags, change requests, etc
- JENKINS-39355 Various API improvements that make it easier to implement/consume SCM API including the addition of an event system to allow SCM implementations to consolidate push event handling from their backing SCM server.
- JENKINS-40138 SCMHead.getActions() should never have been introduced into the SCM API. JENKINS-33309 was a mistake. The API is now marked as DoNotUse and is non-functional. Replacement API for the correct way to access the corresponding information have been documented.
- Added documentation for plugin authors who are implementing the SCM API for their SCM system and consumers of the SCM API that want to access different SCM implementations through a single generic API
- Added a mock SCM implementation in the tests-jar so that consumers can write unit tests of their implementation without needing to create SCM servers and manipulate SCM repositories to generate events or test conditions.
- Infrastructure for JENKINS-31155.
- JENKINS-32768
SingleSCMSource
configuration was not properly round-tripped. - More emphatically discourage use of
SingleSCMSource
.
- JENKINS-33808 Support for Item categorization. More information about this new feature in core here JENKINS-31162
- JENKINS-33256
SCMSource.getTrustedRevision
API. - JENKINS-33309
SCMHead
may have actions, such asChangeRequestAction
.
- JENKINS-30595
HeadByItem
API.
- Introduced
SCMNavigator
API. - JENKINS-21007 Add a mechanism to get parent revision.
Changelog not recorded.
Initial release.