Skip to content
Matej Lazar edited this page Feb 14, 2023 · 135 revisions

Template

[] - --

Added

  • Section

Changed

  • Section

Deprecated

  • Section

Removed

  • Section

Fixed

  • Section

Security

  • Section

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

See also other related changelogs:

[Unreleased-master] - --

Added

  • [NCLSUP-507] Send revision data to RHPAM when creating new build configurations
  • [NCLSUP-598] Adapt user model for kerberos service account users

Changed

  • [NCL-6534] Unified error responses for the errors that happen before the builds are added to the queue. All errors result in immediate http error response.

[2.2.4] - 2022-04-12

Fixed

  • [NCLSUP-641] Fix artifact storing memory issues

[2.2.3] - 2022-02-02

Fixed

  • [NCLSUP-547] Workaround incorrectly tracked generic downloads in a group

[2.2.2] - 2022-01-13

Fixed

  • [NCLSUP-444] Remove Cache annotations on BuildRecord fields

[2.2.1] - 2021-11-25

  • Our old BPMN engine Maitai was replaced by a current RHPAM deployment with new and more stable processes
  • A size of our main service Orchestrator was reduced by chopping out various drivers, which are deployed in a stateless way
  • Several retries were added in various places of the build process to add robustness into the process

[2.1.2] - 2021-10-19

Added

  • [NCLSUP-438] Try to get a new JMS connection on Exception

Fixed

  • [NCLSUP-393]: Fix sorting issue when building group builds

[2.1.1] - 2021-07-23

Added

  • [NCL-6652] Add 'purl-spec' field to artifacts metadata
  • [NCL-6196] Implement UMB notification about finalized analysis of a product

Fixed

  • [NCLSUP-404] Fix pagination and add ordering to /artifacts/filter method used by alignment

[2.1.0] - 2021-07-20

Added

  • [NCL-6157] Speedup alignment and builds by not using Brew Pull if not necessary
  • [NCL-6158] Add 'Brew Pull active' flag in Build Config to indicate whether Brew Pull should be enabled during alignment and build time
  • [NCL-6311] Retries on OpenShift object creation
  • [NCL-6011] Add events for progress of product milestone closing
  • [NCL-6338] Endpoint for PNC global version setup
  • [NCL-6415] Support of RSQL ManyToMany filtering
  • [NCL-6341] Handle Managed Services builds in PNC
  • [NCL-6361][NCL-6367] Add a new field to the Artifact entity called buildCategory used to differentiate between On-Premise and Managed Service builds
  • [NCL-6405] Expose Artifact.buildCategories on REST API, preserve backward compatibility of the Java REST client
  • [NCL-6402] Endpoint for Build Configurations which include the latest build
  • [NCL-5324] Add advanced filtering to My Builds on dashboard
  • [NCL-5325] Add advanced filtering to My Group Builds on dashboard
  • [NCL-6314] Upload and download retries from and to Build Agent
  • [NCL-5294] Show milestones / releases of artifacts on artifact detail page of UI
  • [NCL-6324] Generate source code tarball prior to Brew push

Changed

  • BuildConflictException now results in status 409 Conflict on REST API
  • [NCL-6312] Migrate from openshift-restclient-java to fabric8 to support OCP 4.x
  • [NCL-6158] Brew Pull is disabled by default for all the existing Build Configs
  • [NCL-5738] Builds are stored using Long GUID which is encoded as numerical Base32 on the REST endpoint
  • [NCL-6325] Add failsafe policy on repository creation during the build process
  • [NCL-6465][NCL-6466] The option to build temporary builds with timestamp alignment was removed
  • [NCL-4404] Extract Web UI out of Orchestrator repository and deploy to own server

Fixed

  • [NCL-5942] Fix editing Group Configs on Product version page
  • [NCL-6064] Filtering by build config name on Milestone page produces RQL error
  • [NCL-6217] Unhandled rejection error when adding and removing Group Configs at same time
  • [NCL-6340] Filtering requests on buildConfigName on Build page are inconsistent with the rest. ! operator not working
  • [NCL-6370] UI Build Config Page doesn't scroll versus build page
  • [NCL-6400] Filtering functionality is broken when enum is used

[2.0.3] - 2020-12-07

Fixed

  • [NCLSUP-217] Fixes issues where PNC-Orch would sometimes not be able to connect to the build-agent-server. Fixed by checking if the internal service URL is accessible before

Changed

  • [NCL-5662] drastically improve reliability of WebSocketClient in rest-client module

[2.0.2] - 2020-12-01

Fixed

  • [NCL-6128] Add LIKE support to filter builds by BuildConfig.name on endpoint /builds
  • [NCL-6199] repaired artifact/{id}/milestones endpoint
  • [NCLSUP-202] Fix validation when updating SCM Repository to not conflict with self
  • [NCLSUP-213] Fix temp build deletion constraint violation failure because of noRebuildCause links

Changed

  • [NCL-6214] Build Agent - use http callback instead of websocket communication to avoid system error when starting build

[2.0.1] - 2020-11-03

Added

  • [NCL-6032] PNC should wait for a pod to be available instead of giving a SYSTEM_ERROR after 300s. PNC is now able to retry up to 11 times the creation of builders pods, with an increased timeout of 600s each, reducing manual intervention from users. Also, improved logs are shown to explain eventual issues (exhausted quota, exhausted capacity, image pull issues, pod startup issues).
  • [NCL-5918] Announcement Banner for global notice
  • [NCL-5990] Add support for git scp-like syntax in scm-repositories (back-end part)
  • [NCL-4725] Add gradle plugins repository into build group for Gradle builds
  • [NCL-5952] Group Config actions buttons are missing on Product Version page
  • [NCL-6010] Build Config actions buttons are missing on Product Version page
  • [NCL-5742] Add option to filter by abbreviation to product list view
  • [NCL-6008] Milestone Brewpush not showing brew-url
  • [NCL-6019] Allow system-users to trigger builds when PNC is in maintenance mode
  • [NCL-5681] Show and update Quality levels in the UI
  • [NCL-5682] Visualize the quality levels revisions history
  • [NCL-6082] Create some documentation on the Artifact Quality Level functionality

Fixed

  • [NCL-5922] Fixed deletion of temporary builds from Indy.
  • [NCLSUP-110] Fixed updating of BREW_BUILD_NAME and BREW_BUILD_VERSION build attributes
  • [NCLSUP-155] Change of build URL in UI breaks links in old JIRAs
  • [NCL-6007] NPE when cancelling a build
  • [NCL-5989] Don't send WS message when SCM is created immediately
  • [NCL-6046] Restore UI shortlink to build config
  • [NCL-5848] Product Version cannot be edited on Group Config Detail page
  • [NCL-6023] Build Tree could not be displayed properly
  • [NCL-6085] A running build can be pushed to brew
  • [NCL-5992] Remove group config submit time
  • [NCL-6173] Added DELETED artifact quality into artifacts filter
  • [NCL-6015] Re-add the timed metrics to the REST endpoints to retrieve latency, throughput, error rates
  • [NCL-5960] Group config build history shows builds from beginning to end
  • [NCL-5733] Propagate the change of artifact quality levels (DELETED, BLACKLISTED) to DA
  • [NCL-6077] Fix error Could not convert object to JSON
  • [NCL-6216] Fixed repo comparison when finding extra repositories to expect null url from Indy

[2.0.0] - 2020-08-27

Added

  • Added new Rest API
  • [NCL-4584] Add support for Gradle build type
  • [NCL-4187] Admin endpoints
  • [NCL-4375] Json PATCH support
  • [NCL-4703] Build environment liveness probe
  • [NCL-5482] Added Generic Setting panel and warning message for maintenance mode
  • [NCL-3239] Made the ALIGNMENT_PARAMETERS to be a default for selected build type
  • [NCL-5711] New =NOTLIKE= RSQL operator
  • [NCL-4950] Improve Products and Projects metadata

Changed

  • [NCL-4077] Send revision information to Maitai and Repour on build configuration creation. This helps syncing only the particular revision provided by the user, avoiding potential merge conflicts with other branches that we do not use for building
  • [NCL-4236] Any authenticated user can create/edit/delete stuff. Before it was restricted to authenticated users having 'user' role
  • [NCL-3643] Added NPM-specific identifier format
  • [NCL-4117] Restricted editing of productVersion name when having a closed milestone to keep consistency with external data
  • [NCL-4240] Add DB indexes on md5 and sha1 fields of Artifact model entity
  • [NCL-4300] Fixed updating of brew pushed status
  • [NCL-4282] Add Build to MQ message
  • [NCL-4290] Add Build to Websocket satus update
  • [NCL-4270] Persistent builds ignore successful temporary build when asking whether to rebuild
  • [NCL-4345] Add Pre-alignment SCM Revision
  • [NCL-3804] UI support for NPM build types
  • [NCL-3635] Build Config view rebuild in UI for enhanced performance
  • [NCL-4441] Added REST endpoint to restore a Build Config to a specific audited revision
  • [NCL-4484] rsql also accepts unix-like wildcard characters ('*', '?')
  • [NCL-4888] Change EXECUTION_ROOT_NAME parameter name to BREW_BUILD_NAME
  • [NCL-4766] Change arifact built-by build relationship to N-1
  • [NCL-3238] Change CUSTOM_PME_PARAMETERS name to ALIGNMENT_PARAMETERS
  • [NCL-5634] Default ALIGNMENT_PARAMETERS proposing after build-type edit
  • [NCL-5592] The config structure was simplified to avoid duplicating url properties in multiple module configs
  • [NCL-5626] Temporary builds deletion now use batch delete in Indy to get better performance
  • [NCL-5807] Better handling of promotion validation errors

Fixed

  • [NCL-5511] Fixed system-user creation for new users crated in new Keycloak server version.
  • [NCL-5527] Adding / Updating a description on build configuration causes a rebuild
  • [NCL-5774] Allow lookup of nonstandard group IDs starting with numbers (e.g. org.123abc)

Removed

  • [NCL-5638] Fields Product.productcode and Product.pgmsystemname were dropped
  • [NCL-5799] Fields ProductRelease.downloadUrl, ProductRelease.issueTrackerUrl, ProductMilestone.downloadUrl, ProductMilestone.issueTrackerUrl were dropped

[1.8.2-UNRELEASED] - --

Added

  • [NCL-5528] Websocket notification for generic settings
  • [NCL-5482] Added Generic Setting panel and warning message for maintenance mode

Changed

  • [NCL-5625] Use by-path promotion for temporary builds instead of group promotion

[1.8.1.7] - Unreleased

  • [NCLSUP-82] Fix logic in implicit dependency check on rebuild

[1.8.1.6] -2020-06-18

  • [NCLSUP-79] Fix issue where instance of hibernate validator would not be found

[1.8.1.5] - 2020-06-17

  • [NCLSUP-51] Bump to Indy client 2.2.0 to fix Indy 'apiVersion' unknown issue

[1.8.1.4] - 2020-06-10

  • [NCLSUP-53] Bump to pnc-build-agent 0.7.0 to fix websocket implementation instance not found

[1.8.1.3] - 2020-04-22

Fixed

  • [NCLSUP-40] Fix logic on how to renew service token

[1.8.1.2] - 2020-03-31

Fixed

  • Run stop liveness probe before closing the build agent client.
  • Use build agent 0.6.1. (Fixes memory leak)

[1.8.1] - 2020-03-02

Fixed

  • [NCL-5164] Do not print user token to logs
  • [NCL-4611] ProductMilestone version validation is now much more tolerant
  • [NCL-5360] Fix confusing message when promotion timeout happens
  • Handle exception in build result collection after build cancellation
  • [NCL-5112] Fix build push wrongly claiming it's in progress when it actually failed
  • [NCL-5263] Fix console error: Cannot read property of undefined
  • [NCL-5351] Try to build an already built BuildRecord throws an NPE
  • [NCL-5396] Show parent in progress builds in the dependency tree

Added

  • [NCL-5386] Created new endpoints to speed up the pnc-cli's list-dependency-artifacts calls
  • [NCL-5107] Add more user logs about build promotion progress
  • [NCL-5105] Delete build group when a build is cancelled
  • [NCL-4703] Build environment liveness probe
  • [NCL-5106] Add REST endpoint GET /build-config-set-records/temporary-older-than-timestamp
  • [NCL-5106] Add REST endpoint GET /build-records/temporary-older-than-timestamp
  • [NCL-4802] Add REST endpoint to get processed data from tracking report from an external tool
  • Add callback support for endpoints DELETE /build-config-set-records/{id} and /build-records/{id}
  • [NCL-5297] Added maintenance mode and announcement banner
  • [NCL-5192] Fix temporary builds falsely rebuilding if there is a newer persistent record
  • [NCL-5184] Query optimization to minimize CPU load and DB usage when hitting */builds endpoints
  • Removed BuildRecords from BuildConfigurationAudited to simplify model and avoid unnecessary queries
  • Optimization of checks done when triggering a build with "Implicit mode" selected (default mode), by reducing the number of queries generated
  • [NCL-4455] When builder pod is killed by OpenShift, build status not updated
  • [NCL-4703] Update BuildAgent to send heartbeat to Orchestrator
  • Build metrics providing insight into duration of various build phases

[1.7.4]

Fixed

  • [NCL-5145] Fix showing promotion validation errors for temporary builds
  • [NCL-5150] Fix processing of scoped paths in NPM downloads
  • Enhanced error processing in dependencies promotion

[1.7.3]

Added

  • Handle NPM uploads when collecting results from repository

Fixed

  • [NCL-5124] Fix download url for NPM dependencies
  • [NCL-5129] Fix processing NPM scoped downloads

[1.7.2]

Fixed

  • [NCL-5014] Shutdown Timer threads when closing Indy client to free resources properly
  • [NCL-5110] Backported fix to issue where UI breaks browser back button when traversing certain states.

Changed

  • [NCL-4387] Update repo driver to work with consolidated hosted repository for builds
  • [NCL-5091] Added support to track NPM dependencies to allow usage of Indy instead of Sinopia for NPM builds
  • [NCL-5020] Products, Projects, Build Configs and Group Configs are ordered by name when paginated

[1.7.0]

Added

  • [NCL-4799] Reimport a build to Brew with higher revision only if force is enabled
  • When creating or editing a build configuration, the user can specify the build type, picking MVN for Maven or GRADLE for Gradle builds
  • Added an artifact list view where users can search artifacts and see details

Fixed

  • [NCL-4568] Stop environment monitor on error
  • [NCL-4654] Fix scmTag paddings
  • [NCL-4701] Store scm info on build failure if possible
  • [NCL-4717] Fix regular deletion of temporary builds not to hit 5 minutes transaction timeout
  • [NCL-4823] Use env var ${HOME} to determine home path
  • [NCL-4917] Fix storing and displaying of generic http downloads' paths
  • [NCL-4910] Indy client instances cache is not growing forever, which should avoid running out of maximum thread count
  • [NCL-3992] Empty string in externalUrl of RepositoryConfiguration is now taken as null to avoid ContraintViolation in database

[1.6.0]

Added

  • [NCL-4652] New field BuildRecord.scmTag, which contains Git tag from which the build was run
  • [NCL-4187] Admin endpoints

Changed

  • [NCL-4652] BuildRecord.scmRevision now contains only commit ID (not tags/branches)

Fixed

  • [NCL-4334] Prevent adding builds to a closed milestone

[1.5.2]

Fixed

  • Changelog calculation fix

[1.5.0]

Added

  • [NCL-4439] New generic parameter was introduced. It allow users to specify public repository required by the build
  • [NCL-4536] Maven artifacts' checksums are now also promoted along with the artifacts for better consistency
  • [NCL-4538] Add new BUILDER_POD_MEMORY Build Config parameter to allow overriding default builder pod memory size
  • [NCL-3308] Reminder to submit generic parameters form added

Changed

  • [NCL-4537] There are no artifacts nor dependencies recorded to a build that failed in promotion
  • [NCL-4475] Default page size for some UI components increased to 20
  • [NCL-4538] Default memory allocation per builder pod decreased to 4 GiB (was 8 GiB)

Fixed

  • [NCL-4142] Automatic deletion of temporary builds fixed
  • [NCL-4142] Fixed NPE when deletion of non existing temporary build is triggered
  • [NCL-4482] Http post encoding causing log checksum issues

[1.4.4]

Added

  • [NCL-4393] Adds pnc service status visualisations to the UI dashboard
  • [NCL-4392] Expose info about number of building and enqueued builds via REST

Fixed

  • [NCL-4333] A closed milestone now cannot be set as current via REST API
  • [NCL-4274] Fixed wrong links when using redhat artifacts as dependencies
  • [NCL-4270] Persistent builds succesfully ignore temporary build when asking whether to rebuild
  • [NCL-4218] Orchestrator must work also if JMS is down
  • [NCL-4381] Brew push - make buildRootVersion optional

Changed

  • [NCL-4214] Temporary builds won't be assigned to a milestone anymore

[1.4.3]

Changed

  • [NCL-4282] New fields in the status update messages

Deprecated

  • [NCL-4282] Some fields were deprecated in the status update messages

Added

  • [NCL-4219] Add generic proxy content promotion and set the promotion target as readonly
  • [NCL-4240] Add DB indexes on md5 and sha1 fields of Artifact model entity

Fixed

  • [NCL-4294] Fix credentials used to create and update Indy repositories
  • [NCL-4300] Fixed updating of brew pushed status
  • [NCL-4314] Build with log containing 0 byte fails to store
  • [NCL-4274] Fixed wrong dependencies' links

[1.4.2]

Added

  • [NCL-4177] Add an option to specify implicit or explicit dependency check for a rebuild
  • [NCL-4192] Creating a BuildRecord with status NO_REBUILD_REQUIRED for the builds that don't need to be re-run

Fixed

  • [NCL-4235] Fix potential collision of 2 builds of the same BuildConfiguration started in 1 minute. The build repository in Indy is now named build-

Changed

  • [NCL-4218] Don't break the build if JMS server is down
  • [NCL-4177] Force rebuild is propagated to explicit dependencies.

[1.4.1]

Changed

  • [NCL-4214] Temporary builds won't be assigned to a milestone anymore

[1.4.0]

Added

  • [NCL-3231] Allow editing of the brew tag prefix
  • [NCL-3446] Add log text wrapping option
  • [NCL-3164] Add SCM repositories management page
  • [NCL-3896] Add Build Group Record cancel button
  • [NCL-3978] Add dependent builds tree view
  • [NCL-4050] Provide a way to download plaintext version of console logs
  • [NCL-3993] Force user re-authentication from UI in case of the user token is close to expire when starting a build
  • [NCL-4058] Added favicon
  • [NCL-3891] Support building a specific revision of a build configuration
  • [NCL-4089] Introduce EXECUTION_ROOT_NAME generic param - This is used to override the default value, and can be useful for builds that disable PME. Format is ':'
  • [NCL-3920] Browser now shows page titles based on displayed page contents
  • [NCL-4153] Generic http downloads are stored persistently and handle the changes on remote server correctly
  • [NCL-4177] Add an option to specify implicit or explicit dependency check for a rebuild

Changed

  • [NCL-3932] Use builds-untested+shared-imports+public in build groups for better usage of indexes in Indy
  • [NCL-3886] Relax milestone version restrictions to support Continuous Delivery
  • [NCL-4048] Use human friendly identifier for RCs instead of DB ID
  • [NCL-4097] Update status icons on build tree when websocket notifications received
  • [NCL-4051] Increase size of build script widget in BC edit view
  • [NCL-4192] Creating a Build Recordwith status NO_REBUILD_REQUIRED for the builds that don't need to be re-run
  • [NCL-4218] Don't break the build if JMS server is down

Fixed

  • [NCL-3966] Fix wrong projectName in BuildRecordRest entity
  • [NCL-3761] Fix /build-records/get-by-attribute return object
  • [NCL-4052] Fixed broken icon for Rejected builds
  • [NCL-3698] Brew Push tab appears when push completes / fails without user refresh
  • [NCL-4021] Handle rejected build group status correctly in the UI
  • [NCL-4100] Fix no push button on Build Group Record page

Security

  • [NCL-3549] Use service account when managing repositories in Indy