Release Notes for Grouper 2.4

Grouper v2.4.0 includes 276 fixes and improvements over v2.3.0. See the full list.  


New Features in Grouper 2.4.0

Most features in Grouper 2.4.0 are also in 2.3.0 patches.  The upgrade from 2.3.0 to 2.4.0 is a minor upgrade.

Migrate to new UI

Migrate all screens in Admin and Lite UI to the "New UI" and remove the admin and lite UI. Note, you can add the legacy UI if needed

DeprovisioningDeprovision access from someone to loses an affiliation or changes jobs
AttestationGroups and folders can be marked to require periodic membership review. Reminders will be emailed to group owners
Grouper deployment guideVersion 1 of the Grouper deployment guide is an introduction to Grouper and best practices for using it

New messaging strategies

Add new messaging strategies for ActiveMQ, AMQP (e.g. RabbitMQ), AWS
Grouper loader in UIUser interface to show loader configuration, diagnostics, logs, wizard editor
Subject API diagnosticsUser interface to analyze, diagnose, and recommend improvements for subject source configuration
Real time SQL loaderAllow a change log table (SQL triggers) or messages to trigger loader updates for a partial population or single user
InstrumentationImprove and standardize Grouper logging to provide centralized metrics at an institution and the ability to upload stats to a central Internet2 server
PackagingDocker containers that hold Grouper components for each deployment
GSH next generationImprove gsh by adding readline like capabilities (line editing, tab completions, history, etc)
Inbound messagesAllow Grouper to read a message queue and act on messages (e.g. membership changes etc)
vt-ldap to LdaptiveUpgrade from vt-ldap to Ldaptive
properties configConvert sources.xml and ehcache.xml to be cascaded properties files
Update 3rd party librariesUpdate 3rd party libraries to the latest version that is feasible

 

v2.4.0 patches

Grouper patching instructions (how to install patches with the Grouper installer)

note: if a java file is included in a patch, then all associated classfiles are there too

Date

Patch

Description

Files affected

API patches

2018/09/06

grouper_v2_4_0_api_patch_0

GRP-1888: Fix default configuration for ldap validator
GRP-1889: messaging routing key should be optional

classes/edu/internet2/middleware/grouper/ldap/ldaptive/LdaptiveSessionImpl.java
classes/edu/internet2/middleware/grouper/messaging/MessagingListenerController.java
classes/grouper-loader.base.properties

2018/09/13

grouper_v2_4_0_api_patch_1

GRP-1890: Real time ldap loader with LDAP_GROUPS_FROM_ATTRIBUTES

classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalMessagingListener.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LoaderLdapUtils.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java

2018/09/17

grouper_v2_4_0_api_patch_2

GRP-1901: Real time loader SQL jobs - allow separate database for incremental table

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java

2018/10/09

grouper_v2_4_0_api_patch_3

GRP-1803: gsh script incorrectly assumes GROUPER_CP=${GROUPER_HOME}/conf
GRP-1853: receive non zero return code from gsh if fails
GRP-1916: Refactor gsh

NOTE! In order to patch files in bin/ directory, requires latest grouperInstaller.jar (2018-10-31 or later)

NOTE! If patching UI and WS, disregard errors "Problem applying patch since this patch old file" and allow to force update the bin files. Or, can set grouperInstaller.autorun.forceInstallPatch if using custom properties

classes/groovysh.profile
classes/edu/internet2/middleware/grouper/app/gsh/GrouperShell.java
bin/gsh.sh
bin/gsh.bat
classes/edu/internet2/middleware/subject/SubjectCheckConfig.java
bin/README.txt
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/app/gsh/GrouperGroovysh.java

2018/10/15

grouper_v2_4_0_api_patch_4

GRP-1826: Disable/Enable Loader job
GRP-1928: Issue when rescheduling a job when the type is changing from interval to cron

classes/edu/internet2/middleware/grouper/j2ee/status/DiagnosticLoaderJobTest.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoader.java

2018/11/02

grouper_v2_4_0_api_patch_5

GRP-1943: add debugging information in UI search
GRP-1857: Specify Subject Sources for Grouper UI (Web)

classes/edu/internet2/middleware/grouper/misc/GrouperObjectFinder.java

2018/11/05

grouper_v2_4_0_api_patch_6

GRP-1941: LDAP loader - parsing complex attribute values

GRP-1877: LDAP_GROUPS_FROM_ATTRIBUTES should utilize extra attributes to construct display name

classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouper/app/loader/LoaderJobBean.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationOutput.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderJob.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationInput.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationBase.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LoaderLdapUtils.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java
classes/edu/internet2/middleware/grouper/app/loader/ldap/LdapResultsTransformationDelimitedValueExample.java

2018/11/09

grouper_v2_4_0_api_patch_7

GRP-1856: Instrumentation file location should be configurable

classes/edu/internet2/middleware/grouper/instrumentation/InstrumentationThread.java

2018/11/09

grouper_v2_4_0_api_patch_8

GRP-1895: ldaptive default ThreadLocalTLSSocketFactory mixes hostnames with multiple server configs

lib/grouper/ldaptive-1.1.0.jar
lib/grouper/ldaptive-1.1.2.jar

2018/11/13

grouper_v2_4_0_api_patch_9

GRP-1936: Upgrade dom4j to 2.1.1

lib/grouper/dom4j-2.1.0.jar
lib/grouper/dom4j-2.1.1.jar
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java

2018/11/24

grouper_v2_4_0_api_patch_10

GRP-1952: add method to stem finder to find stems by two attribute values on an assignment of assignment

classes/edu/internet2/middleware/grouper/StemFinder.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3StemDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/StemDAO.java
classes/edu/internet2/middleware/grouper/GroupFinder.java

2019/01/05

grouper_v2_4_0_api_patch_11

GRP-1963: grouper configuration metadata

classes/grouper-loader.base.properties
classes/grouper.cache.base.properties
classes/subject.base.properties
classes/grouper.client.base.properties
classes/grouper.base.properties

2019/01/05

grouper_v2_4_0_api_patch_12

GRP-1950: Minor improvements to daemon jobs page
GRP-1974: Add role inheritance to new ui
GRP-1973: Use group name as routing key to rabbitmq
GRP-1963: grouper configuration metadata
GRP-1920: Startup doesn't print some config properties defined outside the default properties files
GRP-1957: Logout redirectToUrl not working
GRP-1944: Assign grouper types to objects

classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesAttributeNames.java
classes/edu/internet2/middleware/grouperClient/config/GrouperHibernateConfigClient.java
classes/edu/internet2/middleware/grouper/Stem.java
classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesSettings.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcJdbcConnectionProvider.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigSectionMetadata.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbMessagingPublisher.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileHierarchy.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3RegistryDAO.java
classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesConfiguration.java
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/edu/internet2/middleware/subject/provider/JdbcConnectionProvider.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbConsumer.java
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigItemMetadata.java
classes/edu/internet2/middleware/grouper/ddl/GrouperDdlUtils.java
classes/edu/internet2/middleware/grouperClient/config/NonPooledConnectionProvider.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigItemMetadataType.java
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesDatabaseLog.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoader.java
classes/edu/internet2/middleware/grouper/cfg/GrouperHibernateConfig.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileName.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientCommonUtils.java
classes/edu/internet2/middleware/subject/provider/JdbcConnectionBean.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileMetadata.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesAttributeValue.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcJdbcConnectionBean.java

2019/01/05

grouper_v2_4_0_api_patch_13

GRP-1944: Assign grouper types to objects

classes/grouper-loader.base.properties

2019/01/07

grouper_v2_4_0_api_patch_14

GRP-1944: Assign grouper types to objects

classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesJob.java

2019/01/13

grouper_v2_4_0_api_patch_15

GRP-1988: add better caching to subjects

classes/subject.base.properties

2019/01/14

grouper_v2_4_0_api_patch_16

GRP-1988: add better caching to subjects

classes/edu/internet2/middleware/grouper/subj/SourcesXmlResolver.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCacheBean.java
classes/edu/internet2/middleware/subject/provider/BaseSourceAdapter.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCacheItem.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceSerializerFile.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCache.java
classes/edu/internet2/middleware/subject/config/SubjectConfig.java
classes/edu/internet2/middleware/subject/Source.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceSerializer.java
classes/edu/internet2/middleware/subject/LazySource.java
classes/edu/internet2/middleware/grouper/registry/RegistryReset.java
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCacheStat.java

2019/01/14

grouper_v2_4_0_api_patch_17

GRP-1988: add better caching to subjects, adjust default settings

classes/subject.base.properties

2019/01/16

grouper_v2_4_0_api_patch_18

GRP-1990: improve subject caching

classes/grouper.cache.base.properties

2019/01/16

grouper_v2_4_0_api_patch_19

GRP-1990: improve subject caching

classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceSerializerFile.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCache.java
classes/edu/internet2/middleware/grouper/app/loader/LoaderMemberWrapper.java

2019/01/31

grouper_v2_4_0_api_patch_20

GRP-1991: Allow any valid exchange type for rabbitmq

classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/grouper-loader.base.properties

2019/02/05

grouper_v2_4_0_api_patch_21

GRP-1991: Allow any valid exchange type for rabbitmq

classes/edu/internet2/middleware/grouperMessagingRabbitmq/MessageReceiveEventListener.java
classes/edu/internet2/middleware/grouper/app/messaging/MessageConsumerDaemon.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbMessagingPublisher.java
classes/edu/internet2/middleware/grouperClient/ws/beans/WsRestSendMessageRequest.java
classes/edu/internet2/middleware/grouperMessagingRabbitmq/RabbitMQConnectionFactoryImpl.java
classes/edu/internet2/middleware/grouperMessagingRabbitmq/RabbitMQConnectionFactory.java
classes/edu/internet2/middleware/grouperClient/api/GcMessageSend.java
classes/edu/internet2/middleware/grouper/messaging/MessagingListenerController.java
classes/edu/internet2/middleware/grouper/app/messaging/InputMessageGrouperHeader.java
classes/edu/internet2/middleware/grouperClient/messaging/GrouperMessageSendParam.java
classes/edu/internet2/middleware/grouperClient/messaging/GrouperMessageReceiveParam.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogConsumerToMessage.java
classes/edu/internet2/middleware/grouperMessagingRabbitmq/GrouperMessagingRabbitmqSystem.java

2019/02/06

grouper_v2_4_0_api_patch_22

GRP-2018: esb should send MEMBER_ADD / DELETE / UPDATE events

classes/grouper-loader.base.properties

2019/02/06

grouper_v2_4_0_api_patch_23

GRP-2018: esb should send MEMBER_ADD / DELETE / UPDATE events

classes/edu/internet2/middleware/grouper/registry/RegistryReset.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbConsumer.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbEvent.java

2019/02/07

grouper_v2_4_0_api_patch_24

GRP-2006: Membership UI advanced options

classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java

2019/02/07

grouper_v2_4_0_api_patch_25

GRP-2006: Membership UI advanced options

classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITMembershipViewDAO.java
classes/edu/internet2/middleware/grouper/MembershipFinder.java
classes/edu/internet2/middleware/grouper/internal/dao/MembershipDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/PITMembershipViewDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MembershipDAO.java
classes/edu/internet2/middleware/grouper/membership/MembershipSubjectContainer.java

2019/02/07

grouper_v2_4_0_api_patch_26

GRP-2021: config overrides with EL can happen in the wrong order

classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java

2019/02/11

grouper_v2_4_0_api_patch_27

GRP-2026: Unable to trigger jobs using Grouper UI if class isn't in UI (e.g. pspng full sync)

classes/edu/internet2/middleware/grouper/app/loader/GrouperDaemonJob.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoader.java

2019/02/16

grouper_v2_4_0_api_patch_28

GRP-1972: Build visualization graph of object relationships

classes/grouper.base.properties

2019/02/16

grouper_v2_4_0_api_patch_29

GRP-1972: Build visualization graph of object relationships

classes/edu/internet2/middleware/grouper/app/graph/GraphNode.java
classes/edu/internet2/middleware/grouper/app/visualization/VisualStyle.java
classes/edu/internet2/middleware/grouper/app/graph/GraphEdge.java
classes/edu/internet2/middleware/grouper/app/graph/RelationGraph.java
classes/edu/internet2/middleware/grouper/app/graph/GraphSampleData.java
classes/edu/internet2/middleware/grouper/app/visualization/VisualStyleSet.java
classes/edu/internet2/middleware/grouper/app/visualization/StyleObjectType.java
classes/edu/internet2/middleware/grouper/misc/GrouperObjectSubjectWrapper.java
classes/edu/internet2/middleware/grouper/app/graph/GrouperObjectProvisionerWrapper.java
classes/edu/internet2/middleware/grouper/userData/GrouperUserDataApi.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/userData/GrouperUserDataUtils.java
classes/edu/internet2/middleware/grouper/app/visualization/VisualSettings.java

2019/02/21

grouper_v2_4_0_api_patch_30

GRP-2040: Query produced by GrouperDaemonDeleteMultipleCorruption.fixAssign is expensive causing job to fail
Subject filtering bug with Member.getSubject()

classes/edu/internet2/middleware/grouper/app/loader/GrouperDaemonDeleteMultipleCorruption.java
classes/edu/internet2/middleware/grouper/Member.java

2019/02/21

grouper_v2_4_0_api_patch_31

GRP-1978: incorporate new instrumentation centralized server

classes/edu/internet2/middleware/grouper/instrumentation/TierInstrumentationDaemon.java
classes/grouper-loader.base.properties

2019/03/05

grouper_v2_4_0_api_patch_32

GRP-2003: add obliterate stem to ui

classes/edu/internet2/middleware/grouper/GrouperSourceAdapter.java
classes/edu/internet2/middleware/grouper/audit/AuditFieldType.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3GroupDAO.java
classes/edu/internet2/middleware/grouper/Group.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileName.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeDefNameDAO.java
classes/edu/internet2/middleware/grouper/audit/AuditTypeBuiltin.java
classes/edu/internet2/middleware/grouper/misc/M.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeDefDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3StemDAO.java
classes/edu/internet2/middleware/grouper/Stem.java

2019/03/08

grouper_v2_4_0_api_patch_33

GRP-1909: Allow blank description in new groups created by group list loaders (override "auto-created by grouperLoader")

classes/grouper-loader.base.properties

2019/03/08

grouper_v2_4_0_api_patch_34

GRP-1909: Allow blank description in new groups created by group list loaders (override "auto-created by grouperLoader")

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java

2019/03/14

grouper_v2_4_0_api_patch_35

GRP-2060: loader log message bad format

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java

2019/03/17

grouper_v2_4_0_api_patch_36

GRP-2064: cannot add self in grouper, separation of duties

classes/grouper.base.properties

2019/03/17

grouper_v2_4_0_api_patch_37

GRP-2064: cannot add self in grouper, separation of duties

classes/edu/internet2/middleware/grouper/hooks/examples/MembershipCannotAddSelfToGroupHook.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/hooks/logic/GrouperHookType.java

2019/03/17

grouper_v2_4_0_api_patch_38

GRP-2065: Large groups suffer slow perf in loader

classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java

2019/03/19

grouper_v2_4_0_api_patch_39

GRP-2062: Show and filter group memberships under a folder

classes/edu/internet2/middleware/grouper/internal/dao/PITMembershipViewDAO.java
classes/edu/internet2/middleware/grouper/MembershipFinder.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITMembershipViewDAO.java

2019/03/19

grouper_v2_4_0_api_patch_40

GRP-2067: duo paging

classes/edu/internet2/middleware/grouperDuo/GrouperDuoFullRefresh.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoCommands.java

2019/04/04

grouper_v2_4_0_api_patch_41

GRP-2078: add more features to controlling RegistrySubjects and give a hint if source isnt listed

classes/edu/internet2/middleware/grouper/internal/dao/RegistrySubjectAttributeDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3RegistrySubjectDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3RegistryDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3DAOFactory.java
classes/edu/internet2/middleware/grouper/internal/dao/RegistrySubjectDAO.java
classes/edu/internet2/middleware/grouper/RegistrySubject.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3RegistrySubjectAttributeDAO.java
classes/edu/internet2/middleware/grouper/misc/GrouperDAOFactory.java
classes/edu/internet2/middleware/grouper/registry/RegistryReset.java
classes/edu/internet2/middleware/grouper/RegistrySubjectAttribute.java

2019/04/24

grouper_v2_4_0_api_patch_42

GRP-2110: Use ssl context while making connections to rabbitmq

classes/edu/internet2/middleware/grouperMessagingRabbitmq/RabbitMQConnectionFactoryImpl.java

2019/05/01

grouper_v2_4_0_api_patch_43

GRP-2113: grouper mail needs more settings

classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/util/GrouperEmail.java

2019/05/02

grouper_v2_4_0_api_patch_44

GRP-2116: Improve ChangeLogTempToEntity performance by batching

classes/grouper.cache.base.properties
classes/grouper.hibernate.base.properties
classes/grouper-loader.base.properties

2019/05/02

grouper_v2_4_0_api_patch_45

GRP-2116: Improve ChangeLogTempToEntity performance by batching

GRP-2117: findBadMemberships query performance on MySQL

classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITGroupDAO.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeAssign.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITMemberDAO.java
classes/edu/internet2/middleware/grouper/pit/PITMembership.java
classes/edu/internet2/middleware/grouper/internal/dao/PITFieldDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITMembershipDAO.java
classes/edu/internet2/middleware/grouper/misc/AddMissingGroupSets.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogTempToEntity.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MembershipDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/PITMembershipDAO.java
classes/edu/internet2/middleware/grouper/pit/PITGroupSet.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITMembershipViewDAO.java
classes/edu/internet2/middleware/grouper/pit/PITRoleSet.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeDefNameSet.java
classes/edu/internet2/middleware/grouper/internal/dao/PITGroupDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/PITMemberDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITGroupDAO.hbm.xml
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITFieldDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITFieldDAO.hbm.xml
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3GroupSetDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3StemDAO.java
classes/edu/internet2/middleware/grouper/misc/SyncPITTables.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeAssignActionSet.java

2019/05/06

grouper_v2_4_0_api_patch_46

GRP-2121: SQL provisioning

classes/grouper-loader.base.properties
classes/grouper.client.base.properties
classes/grouper.base.properties

2019/05/06

grouper_v2_4_0_api_patch_47

GRP-2121: SQL provisioning

classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncOutput.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncOtherJob.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileMetadata.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientUtils.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbAccess.java
classes/edu/internet2/middleware/grouper/misc/GrouperObjectFinder.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableMetadata.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableData.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncRowData.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncColumnMetadata.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSync.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncLog.java
classes/edu/internet2/middleware/grouper/hibernate/ByObjectStatic.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3DAO.java

2019/05/11

grouper_v2_4_0_api_patch_48

GRP-2129: grouper types should have tooltips that describe the type

classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesSettings.java

2019/05/13

grouper_v2_4_0_api_patch_49

GRP-2079: add local entity support in new ui

classes/edu/internet2/middleware/grouper/group/TypeOfGroup.java
classes/edu/internet2/middleware/grouper/userData/GrouperUserDataApi.java
classes/edu/internet2/middleware/grouper/privs/Privilege.java

2019/05/29

grouper_v2_4_0_api_patch_50

GRP-2128: Detect object types based on folders' extensions and allow auto assigning object types
GRP-2134: Add types when creating folders via templates
GRP-2155: types on folders should have checkboxes so its optional
GRP-2156: If a checkbox is unchecked on the template form and another action requires it, make it a no-op

classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesConfiguration.java
classes/edu/internet2/middleware/grouper/app/grouperTypes/StemObjectType.java
classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesSettings.java

2019/05/31

grouper_v2_4_0_api_patch_51

GRP-2118: Clean up messaging related properties files

lib/qpid-jms-client-0.11.1.jar
lib/qpid-jms-client-0.41.0.jar
classes/edu/internet2/middleware/grouperMessagingActiveMQ/GrouperMessagingActiveMQSystem.java
classes/edu/internet2/middleware/grouper/messaging/MessagingListenerController.java
lib/activemq-client-5.15.0.jar

2019/06/03

grouper_v2_4_0_api_patch_52

GRP-2102: Visualization fixes for 2.4 (roll-up task)

classes/grouper.base.properties

2019/06/03

grouper_v2_4_0_api_patch_53

GRP-2102: Visualization fixes for 2.4 (roll-up task)
- GRP-2035: visualization of subject should show direct group membership for that subject
- GRP-2071: Add visualization option for full screen
- GRP-2091: grouper visualization fails on circular references
- GRP-2092: add key/legend to visualization
- GRP-2094: visualization: simple (non-listOfGroups) loaded groups should show membership count
- GRP-2095: visualization: label loader groups, ref, basis, policy, composites
- GRP-2096: visualization: if showing members, show the number and "members", e.g. "125 members"
- GRP-2097: visualization: option to include groups in counts
- GRP-2098: visualization: add option to show direct and total counts
- GRP-2099: visualization: take tooltip off entire image
- GRP-2103: UI visualization fix dot output syntax errors
- GRP-2107: visualization svg not working
- GRP-2150: Visualization change arrow directions for group memberships
- GRP-2152: visualization: change arrow for simple loader from loader color to membership

classes/edu/internet2/middleware/grouper/app/graph/RelationGraph.java
classes/edu/internet2/middleware/grouper/app/graph/GraphNode.java
classes/edu/internet2/middleware/grouper/app/graph/GraphEdge.java
classes/edu/internet2/middleware/grouper/app/visualization/StyleObjectType.java

2019/06/03

grouper_v2_4_0_api_patch_54

GRP-2177: null string properties in java cause viz issues, and if cant read loader attributes

classes/edu/internet2/middleware/grouper/app/graph/GraphNode.java

2019/06/04

grouper_v2_4_0_api_patch_55

GRP-2176: move grouper externalized text from ui to api
GRP-2182: add javax servlet api to ui and ws so gsh works completely

classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/edu/internet2/middleware/grouper/cfg/text/TextBundleBean.java
classes/edu/internet2/middleware/grouperClient/config/GrouperUiApiTextConfig.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/cfg/text/GrouperTextContainer.java
classes/edu/internet2/middleware/grouper/cfg/GrouperConfig.java
classes/grouperText/grouper.textNg.fr.fr.base.properties
classes/grouper.base.properties

2019/06/05

grouper_v2_4_0_api_patch_56

GRP-2179: Bad effective group sets
GRP-2174: endless loop in change log temp processor
GRP-2181: Fix handling of groupAttrReaders/groupAttrUpdaters fields for entities

classes/edu/internet2/middleware/grouper/app/upgradeTasks/UpgradeTasksInterface.java
classes/edu/internet2/middleware/grouper/app/upgradeTasks/UpgradeTasksJob.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouper/app/upgradeTasks/UpgradeTasks.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogTempToEntity.java
classes/edu/internet2/middleware/grouper/Field.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3GroupSetDAO.java
classes/edu/internet2/middleware/grouper/misc/FindBadMemberships.java
classes/edu/internet2/middleware/grouper/internal/dao/GroupSetDAO.java

2019/06/05

grouper_v2_4_0_api_patch_57

GRP-1981: Provisioning in UI

classes/grouper.base.properties
classes/grouperText/grouper.textNg.en.us.base.properties

2019/06/05

grouper_v2_4_0_api_patch_58

GRP-1981: Provisioning in UI

classes/edu/internet2/middleware/grouperDuo/GrouperDuoFullRefresh.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningAttributeValue.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningJob.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningSettings.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoUtils.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningTarget.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningService.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningAttributeNames.java
classes/edu/internet2/middleware/grouper/Stem.java

2019/06/09

grouper_v2_4_0_api_patch_59

GRP-2063: Allow ad-hoc sql reports

classes/grouper.base.properties
classes/grouperText/grouper.textNg.en.us.base.properties

2019/06/09

grouper_v2_4_0_api_patch_60

GRP-2063: Allow ad-hoc sql reports

classes/grouper-loader.base.properties
lib/commons-csv-1.6.jar
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportClearJob.java
lib/aws-java-sdk-1.9.0-sources.jar
lib/httpclient-4.5.8.jar
lib/httpcore-4.2.jar
lib/aws-java-sdk-sqs-1.11.567.jar
lib/aws-java-sdk-core-1.11.529.jar
lib/aws-java-sdk-1.11.529.jar
lib/aws-java-sdk-kms-1.11.533.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportLogic.java
lib/httpclient-4.2.3.jar
lib/jackson-annotations-2.9.8.jar
lib/aws-java-sdk-s3-1.11.529.jar
lib/aws-java-sdk-bundle-1.11.155.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportInstance.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportConfigurationBean.java
classes/edu/internet2/middleware/grouper/app/reports/ReportConfigType.java
lib/jackson-annotations-2.1.1.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportJob.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
lib/jackson-core-2.1.1.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportConfigAttributeNames.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportSettings.java
classes/edu/internet2/middleware/grouper/audit/AuditTypeBuiltin.java
lib/aws-java-sdk-sns-1.11.567.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportInstanceService.java
lib/httpcore-4.4.11.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportInstanceAttributeNames.java
lib/jackson-core-2.9.8.jar
lib/jackson-databind-2.1.1.jar
lib/jackson-databind-2.9.8.jar
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportData.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportConfigService.java
classes/edu/internet2/middleware/grouper/app/reports/ReportConfigFormat.java
lib/aws-java-sdk-1.9.0.jar
lib/joda-time-2.2.jar

2019/06/10

grouper_v2_4_0_api_patch_61

GRP-2063: Allow ad-hoc sql reports

classes/edu/internet2/middleware/grouper/app/reports/GrouperReportLogic.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportInstance.java
classes/edu/internet2/middleware/grouper/app/reports/ReportConfigFormat.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java

2019/06/12

grouper_v2_4_0_api_patch_62

GRP-2206: reports incorrectly detect S3 urls

classes/edu/internet2/middleware/grouper/app/reports/GrouperReportInstance.java

2019/06/12

grouper_v2_4_0_api_patch_63

GRP-2157: add template for policy group

classes/grouper.base.properties
classes/grouperText/grouper.textNg.en.us.base.properties

2019/06/12

grouper_v2_4_0_api_patch_64

GRP-2157: add template for policy group

classes/edu/internet2/middleware/grouper/group/LockoutGroup.java
classes/edu/internet2/middleware/grouper/group/RequireGroup.java

2019/07/22

grouper_v2_4_0_api_patch_65

GRP-2246: Visualization: tune group count query for better performance in MySQL
GRP-2191: if a composite is used in visualization, it should show both factors and overall (if allowed)

classes/edu/internet2/middleware/grouper/app/graph/RelationGraph.java

2019/08/01

grouper_v2_4_0_api_patch_66

GRP-1953: grouper configuration in database and ui

classes/edu/internet2/middleware/grouper/ws/GrouperWsConfigInApi.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSync.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileMetadata.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/registry/RegistryReset.java
classes/edu/internet2/middleware/grouper/attr/AttributeDefName.java
classes/subject.base.properties
classes/grouper.cache.base.properties
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoUtils.java
classes/grouper-ui-ng.base.properties
classes/edu/internet2/middleware/grouper/registry/RegistryInitializeSchema.java
classes/edu/internet2/middleware/grouper/ddl/GrouperDdlUtils.java
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigItemMetadataType.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigItemMetadata.java
classes/grouper-ws-ng.base.properties
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileName.java
classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCache.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/grouper.hibernate.base.properties
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiConfigInApi.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java

2019/08/06

grouper_v2_4_0_api_patch_67

GRP-2262: null pointer on subject cache

classes/edu/internet2/middleware/grouper/subj/cache/SubjectSourceCache.java

2019/08/19

grouper_v2_4_0_api_patch_68

GRP-2273: NullPointer exceptions with Null Subject_ID lookups
GRP-2263: looping in db config when getting config while getting database config
GRP-2282: deprovisioning cache throws NPE after having been running for a while
GRP-2283: move ui and ws example files to api
GRP-2280: grouper warnings on startup about configuration in database

classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileName.java
classes/edu/internet2/middleware/grouper/audit/AuditTypeBuiltin.java
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java
classes/edu/internet2/middleware/subject/provider/LdapSourceAdapter.java
classes/edu/internet2/middleware/subject/provider/BaseSourceAdapter.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningLogic.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/edu/internet2/middleware/grouper/hibernate/HibernateSession.java

2019/08/19

grouper_v2_4_0_api_patch_69

GRP-2202: Attestation using reports
GRP-2265: Attestation UI doesn't show "Folder with settings"

classes/edu/internet2/middleware/grouper/audit/AuditFieldType.java
classes/edu/internet2/middleware/grouper/app/attestation/GrouperAttestationJob.java
classes/edu/internet2/middleware/grouper/util/EmailObject.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/audit/AuditTypeBuiltin.java

2019/08/20

grouper_v2_4_0_api_patch_70

GRP-2151: Add workflow approval forms to grouper

classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConstants.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceLogEntry.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstance.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceService.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowApprovalStates.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowApprovalState.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigService.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfig.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceFileInfo.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowDaemonJob.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowApprovalAction.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigParam.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceFilesInfo.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowSettings.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigAttributeNames.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowReminderEmailJob.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigValidator.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceParamValue.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigParams.java
lib/grouper/jsoup-1.12.1.jar
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceLogEntries.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceValidator.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowEmailService.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceAttributeNames.java

2019/08/20

grouper_v2_4_0_api_patch_71

GRP-2268: typo in groups i manage page
GRP-2031: when you export as gsh, make sure its valid java when multiple objects
GRP-2260: AttributeDefFinder reports "AttributeDef not found" exactly when it was found
GRP-2106: Membership counts inaccurate when member has more than one membership
GRP-1924: grouperClient WsGroup bean missing alternateName property
GRP-2241: Allow suppression of startup error "Error: Cannot properly read UTF string from database"
GRP-2259: Loader log message bad format "found (object reference) members overall"
GRP-2270: Attribute def - Trace privileges
GRP-1982: member search and sort strings should trim before change
GRP-2101: Ldaptive exception reports queried attributes as array pointer
GRP-2170: change logging for EventLog session starts from INFO->DEBUG

classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MembershipDAO.java
classes/edu/internet2/middleware/grouper/Member.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningConfiguration.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportAttributeDefNameSet.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportAttributeDefName.java
classes/edu/internet2/middleware/grouper/ldap/vtldap/VTLdapSessionImpl.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportComposite.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeDefFinder.java
classes/edu/internet2/middleware/grouper/Membership.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/edu/internet2/middleware/grouperClient/ws/beans/WsGroup.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/edu/internet2/middleware/grouper/GrouperSession.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportAttributeAssignActionSet.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportAttributeDef.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportMembership.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportAttributeAssign.java
classes/edu/internet2/middleware/grouper/ldap/ldaptive/LdaptiveSessionImpl.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportStem.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportMain.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningLogic.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportGroup.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningOverallConfiguration.java

2019/08/20

grouper_v2_4_0_api_patch_72

GRP-2244: Groups list loader sets loaded=false for groups of all other jobs

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java

2019/09/14

grouper_v2_4_0_api_patch_73

GRP-2313: Duo integration does not manage Admin Roles

classes/edu/internet2/middleware/grouperDuo/GrouperDuoAdminFullRefresh.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoUtils.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoChangeLogConsumer.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoAdminMembershipHook.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoLog.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoCommands.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoAdministrator.java

2019/09/29

grouper_v2_4_0_api_patch_74

GRP-1904: LDAP loader API validator gives error when GroupTypes set
GRP-2305: "Stem stemOwner" is repeated in export to gsh
GRP-2296: IncrementalLoading: Disabled Loader Jobs
GRP-2335: cant find loader log map
GRP-2307: mail.smtp.ssl=true should not also set mail.smtp.starttls.enable=true
GRP-2293: Option for case insensitive searching for Grouper Loader
GRP-2318: LDAP subject source doesn't support maxResults; add option to return partial results
GRP-2316: GrouperDeprovisioningEmailService bug
GRP-2288: default group workflow should work or be easier to user for current group with no changes
GRP-1870: getting email addresses should ignore groups themselves... only users

classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderIncrementalJob.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/internal/dao/QueryOptions.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinderResult.java
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter2.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MemberDAO.java
classes/edu/internet2/middleware/grouper/util/GrouperEmail.java
classes/edu/internet2/middleware/grouper/internal/dao/AttributeAssignDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/AttributeDefDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3GroupDAO.java
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeDefDAO.java
classes/edu/internet2/middleware/grouper/Group.java
classes/edu/internet2/middleware/subject/provider/LdapSourceAdapter.java
classes/edu/internet2/middleware/grouper/app/attestation/GrouperAttestationJob.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinderResults.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3StemDAO.java
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeDefNameFinder.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderLogger.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigValidator.java
classes/edu/internet2/middleware/grouper/attr/assign/AttributeAssignSave.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinder.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeDefFinder.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningEmailService.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowApprovalStates.java
classes/edu/internet2/middleware/grouper/StemSave.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportMain.java
classes/edu/internet2/middleware/grouper/xml/export/XmlExportAttributeAssign.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeAssignDAO.java
classes/subject.base.properties

2019/10/18

grouper_v2_4_0_api_patch_75

GRP-2361: ui for import/edit/delete database config
GRP-2362: GrouperSystem cant be found
GRP-2337: daemon page should show a more accurate status
GRP-2363: v2.4 unit test fixes (round 1)
GRP-2358: deprovisioning email service looking for attributes and not going to root folder
GRP-2188: add cc etc to grouperEmail
GRP-2366: GrouperUtil.stripEnd should be GrouperUtil.stripSuffix

classes/edu/internet2/middleware/grouper/instrumentation/InstrumentationThread.java
classes/edu/internet2/middleware/grouper/util/GrouperEmail.java
classes/edu/internet2/middleware/grouper/hibernate/HibUtils.java
classes/edu/internet2/middleware/grouper/internal/dao/QueryPaging.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningEmailService.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3StemDAO.java
classes/edu/internet2/middleware/grouper/j2ee/status/DiagnosticLoaderJobTest.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeDefDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/AttributeAssignDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeAssignDAO.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinder.java
classes/edu/internet2/middleware/grouper/RegistrySubjectAttribute.java
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3GroupDAO.java
classes/edu/internet2/middleware/grouper/subj/InternalSourceAdapter.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinderResults.java
classes/edu/internet2/middleware/grouperClient/ssl/EasySslSocketFactory.java
classes/edu/internet2/middleware/grouper/misc/GrouperObjectFinder.java
classes/subject.base.properties
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigFileName.java
classes/edu/internet2/middleware/grouper/hibernate/GrouperContext.java
classes/edu/internet2/middleware/grouper/j2ee/status/DaemonJobStatus.java

2019/10/20

grouper_v2_4_0_api_patch_76

GRP-2366: GrouperUtil.stripEnd should be GrouperUtil.stripSuffix

classes/edu/internet2/middleware/grouper/util/GrouperUtilElSafe.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowSettings.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportSettings.java
classes/edu/internet2/middleware/grouper/app/grouperTypes/GrouperObjectTypesSettings.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningSettings.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningSettings.java

2019/10/24

grouper_v2_4_0_api_patch_77

GRP-2370: Attribute queries with order by failing in hsql
GRP-2310: Bulk Subject Lookup: Use grouper_members data first
GRP-2364: morphString should support EL scriptlets
GRP-2370: hsql attribute queries with order by
GRP-2303: create screen to show attribute assignments from an attribute def name

classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/MorphPropertyFileUtils.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/SubjectFinder.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeAssignDAO.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/MorphStringUtils.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientLdapUtils.java
classes/morphString.base.properties
classes/edu/internet2/middleware/morphString/Morph.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/Morph.java
classes/edu/internet2/middleware/grouper/internal/dao/MemberDAO.java
classes/edu/internet2/middleware/grouperClient/discovery/DiscoveryClient.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/Encrypt.java
classes/edu/internet2/middleware/morphString/MorphStringConfig.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/morphString/Encrypt.java
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java
classes/edu/internet2/middleware/grouperClientExt/xmpp/GrouperClientXmppMain.java
classes/edu/internet2/middleware/grouper/util/GrouperThreadLocalState.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/Crypto.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinder.java
classes/morphString.example.properties
classes/edu/internet2/middleware/grouper/hibernate/HibUtils.java
classes/grouper.client.base.properties
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MemberDAO.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/grouperClientMail/GrouperClientEmail.java
classes/edu/internet2/middleware/grouperClient/ws/GrouperClientWs.java
classes/edu/internet2/middleware/grouperClient/GrouperClient.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientUtils.java

2019/10/28

grouper_v2_4_0_api_patch_78

GRP-2382: db config issues
GRP-2383: database configuration can return no records and use default configuration

classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/Crypto.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/ConfigItemMetadata.java
classes/edu/internet2/middleware/grouper/cfg/GrouperConfig.java
classes/edu/internet2/middleware/grouperClient/config/db/ConfigDatabaseLogic.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/Morph.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientCommonUtils.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/registry/RegistryInitializeSchema.java
classes/edu/internet2/middleware/grouperClientExt/edu/internet2/middleware/morphString/Encrypt.java
classes/edu/internet2/middleware/grouper/cfg/dbConfig/GrouperConfigHibernate.java

2019/10/31

grouper_v2_4_0_api_patch_80

GRP-2390: grouper loader mistakenly uses db pool size of 5

classes/edu/internet2/middleware/grouperClient/config/db/ConfigDatabaseLogic.java
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/grouper.hibernate.base.properties
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderDb.java
classes/grouper-loader.base.properties

2019/11/24

grouper_v2_4_0_api_patch_81

GRP-2444: schedule a CSV file to be SFTP'ed to server
GRP-2429: add sftp support in grouper
GRP-2414: decryptInFileIfFile stack overflow since there is a config
GRP-2445: better error handling and logging in remedy integration
GRP-2407: grouper client db access does not connect to the right database
GRP-2402: Morph.decryptFromFileIfFile should accept slashes in passwords
GRP-2400: grouperClient has problems with grouper client properties in database on startup
GRP-2386: Grouper reports missing from diagnostics

classes/edu/internet2/middleware/grouper/app/file/GrouperSftpSession.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSync.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientCommonUtils.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouperClient/config/db/ConfigDatabaseLogic.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperCsvReportJob.java
classes/grouper.client.base.properties
classes/edu/internet2/middleware/grouper/app/file/GrouperSftpCallback.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientUtils.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbAccess.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientConfig.java
classes/edu/internet2/middleware/grouper/j2ee/status/DiagnosticType.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportJob.java
classes/edu/internet2/middleware/morphString/Morph.java
classes/edu/internet2/middleware/grouper/Membership.java
lib/grouper/jsch-0.1.55.jar
classes/edu/internet2/middleware/grouper/app/file/GrouperSftp.java
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportConfigService.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
lib/grouper/commons-vfs2-2.4.1.jar
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouperClient/config/ConfigPropertiesCascadeBase.java

2019/11/25

grouper_v2_4_0_api_patch_82

GRP-2447: endless loop if morph password is in external file

classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/morphString/Morph.java

2019/11/28

grouper_v2_4_0_api_patch_83

GRP-2448: keeping subject.properties in database causes not to load jdbc source

classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java

2019/12/23

grouper_v2_4_0_api_patch_84

GRP-2499: autopage in grouper box so long queries execute successfully
GRP-2023: Modify USDU to allow saving attributes on members, ui, etc
GRP-2412: Folder menu tree to use "..." to indicate a truncated list of items
GRP-2478: error in obliterate stem if too many levels and delete pit
GRP-2475: cursor paging to download large amounts of data
GRP-2477: allow getMembers paging to get all members with no gaps from client
GRP-2451: allow grouper box to have pem in database config
GRP-2465: make grouper box user last longer and be configurable

classes/edu/internet2/middleware/grouper/app/usdu/UsduSettings.java
classes/edu/internet2/middleware/grouper/internal/dao/MemberDAO.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouperBox/GrouperBoxUser.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITStemDAO.java
classes/grouper.cache.base.properties
classes/edu/internet2/middleware/grouper/app/usdu/UsduJob.java
classes/edu/internet2/middleware/grouperClient/ws/GrouperClientWs.java
classes/edu/internet2/middleware/grouperBox/GrouperWsCommandsForBox.java
classes/edu/internet2/middleware/grouperClient/api/GcGetMembers.java
classes/edu/internet2/middleware/grouperBox/BoxOtherJob.java
classes/edu/internet2/middleware/grouper/app/file/GrouperSftp.java
classes/edu/internet2/middleware/grouperBox/GrouperBoxCommands.java
classes/edu/internet2/middleware/grouper/app/usdu/SubjectResolutionAttributeValue.java
classes/grouper-ui-ng.base.properties
classes/edu/internet2/middleware/grouper/app/usdu/SubjectResolutionStat.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduService.java
classes/edu/internet2/middleware/grouper/audit/AuditTypeBuiltin.java
classes/grouper-loader.base.properties
classes/edu/internet2/middleware/grouperBox/GrouperBoxFullRefresh.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduAttributeNames.java
classes/edu/internet2/middleware/grouper/MemberFinder.java
classes/edu/internet2/middleware/grouperClient/GrouperClient.java
classes/edu/internet2/middleware/grouper/pit/PITStem.java
classes/edu/internet2/middleware/grouperBox/GrouperBoxMessageConsumer.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MemberDAO.java
classes/edu/internet2/middleware/grouperBox/BoxEsbPublisher.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduSource.java

2019/12/23

grouper_v2_4_0_api_patch_85

GRP-2501: usdu screen needs to show more info, e.g. subject id, source id, identifier, name, description from members table

classes/grouperText/grouper.textNg.en.us.base.properties

2019/12/24

grouper_v2_4_0_api_patch_86

GRP-2503: grouperLoader job traceback: edu.internet2.middleware.grouper.exception.MemberDeleteException

classes/edu/internet2/middleware/grouper/MemberFinder.java

2020/01/02

grouper_v2_4_0_api_patch_87

GRP-2502: fix sorting and paging of usdu subject screen
GRP-2504: new usduDaemon: subject resolution on miscellaneous page never completes
GRP-2505: grouper csv properties query from wrong name
GRP-2508: add USDU ui option to show deleted subjects or all unresolved and deleted subjects
GRP-2509: allow user to delete subject in USDU screen
GRP-2510: allow view subject to show unresolvable subjects
GRP-2511: improve performance of USDU view subjects page
GRP-2512: add subject id and source id to usdu ui results in list and find screens
GRP-2513: usdu breadcrumbs not correct
GRP-2514: 'days unresolved' is not calculated correctly on usdu ui
GRP-2515: USDU no longer runs during 'daily report'
GRP-2516: usdu is a weekly daemon and diagnostics fails since checks
GRP-2517: client autopaging with no results can return null result

classes/edu/internet2/middleware/grouper/hibernate/HibUtils.java
classes/edu/internet2/middleware/subject/LazySource.java
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/GrouperSourceAdapter.java
classes/edu/internet2/middleware/grouper/SubjectFinder.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeDefNameSet.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduService.java
classes/edu/internet2/middleware/grouper/internal/dao/AttributeAssignDAO.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduJob.java
classes/edu/internet2/middleware/grouper/app/usdu/SubjectResolutionAttributeValue.java
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter2.java
classes/edu/internet2/middleware/grouperClient/api/GcGetMembers.java
classes/edu/internet2/middleware/grouperBox/GrouperWsCommandsForBox.java
classes/edu/internet2/middleware/grouper/misc/GrouperReport.java
classes/edu/internet2/middleware/subject/Source.java
classes/edu/internet2/middleware/subject/provider/BaseSourceAdapter.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeAssignActionSet.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignValueFinder.java
classes/edu/internet2/middleware/grouper/pit/PITGroupSet.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperCsvReportJob.java
classes/edu/internet2/middleware/grouper/pit/PITMembership.java
classes/edu/internet2/middleware/grouper/hibernate/BySqlStatic.java
classes/edu/internet2/middleware/grouper/app/usdu/USDU.java
classes/edu/internet2/middleware/grouper/MemberFinder.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeAssignDAO.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogTempToEntity.java
classes/edu/internet2/middleware/grouper/pit/PITRoleSet.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MemberDAO.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeAssign.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignFinder.java

2020/01/09

grouper_v2_4_0_api_patch_88

GRP-2539: change "subject resolution" to "unresolvable subjects" in ui
GRP-2368: deprovisioning report has duplicates on it. each group should
GRP-2518: usdu screen doesnt show anything on "deleted" or "unresolved" but yes on "all".
GRP-2521: usduDaemon: subject resolution stats: column heads no action
GRP-2524: deprovisioning not reading correct base config (should be root
GRP-2526: WS startup issue - message issued many times until WS query
GRP-2527: various deprovisioning issues
GRP-2535: all daemon jobs screen should filter by status
GRP-2537: source getAllSubjectIds fails on json marshalling
GRP-2539: change "subject resolution" to "unresolvable subjects" in ui
GRP-2541: Miscellaneous >> All daemon jobs "Apply filter" button does not honor URL parameter value ( Example: daemonJobsFilter=usduDaemon )
GRP-2546: background color on recent activity not correct for wide rows

classes/edu/internet2/middleware/grouper/app/usdu/USDU.java
classes/edu/internet2/middleware/subject/Source.java
classes/edu/internet2/middleware/subject/provider/BaseSourceAdapter.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/subject/LazySource.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningOverallConfiguration.java
classes/edu/internet2/middleware/grouper/GrouperSourceAdapter.java
classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningEmailService.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduService.java
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter2.java
classes/grouper-ui-ng.base.properties
classes/edu/internet2/middleware/subject/provider/JDBCSourceAdapter.java

2020/01/10

grouper_v2_4_0_api_patch_89

GRP-2553: ui not compiling with patch

classes/edu/internet2/middleware/grouper/app/deprovisioning/GrouperDeprovisioningOverallConfiguration.java

2020/02/05

grouper_v2_4_0_api_patch_90

GRP-2571: allow import configuration to database from gsh
GRP-2324: order by in loader queries causes an issue
GRP-2551: Change log events for permission changes on subject
GRP-2409: real time sql sync
GRP-2565: Performance issues due to query changes in GRP-2117

classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncOtherJob.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncLog.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSync.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbAccess.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderDb.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableData.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogTypeBuiltin.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningJob.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncOutput.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITPermissionAllViewDAO.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningAttributeNames.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbVersionable.java
classes/edu/internet2/middleware/grouper/pit/PITGroupSet.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3DAO.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3PITMembershipViewDAO.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMember.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouperClient/jdbc/GcPersistableClass.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/misc/SyncPITTables.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeAssignActionSet.java
classes/edu/internet2/middleware/grouper/pit/PITMembership.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningService.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientUtils.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMembership.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogLabels.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MembershipDAO.java
classes/edu/internet2/middleware/grouper/internal/dao/PITPermissionAllViewDAO.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncGroup.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableBean.java
classes/edu/internet2/middleware/grouper/misc/GrouperStartup.java
classes/edu/internet2/middleware/grouper/audit/UserAuditQuery.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeDefNameSet.java
classes/edu/internet2/middleware/grouper/app/loader/GrouperLoaderType.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncColumnMetadata.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncSubtype.java
classes/edu/internet2/middleware/grouper/pit/PITRoleSet.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientConfig.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncJobState.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncRowData.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcPersistableHelper.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogTempToEntity.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3GroupSetDAO.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncCreateTables.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbVersionableGenerate.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3AttributeAssignDAO.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableMetadata.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbConsumer.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncJob.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSync.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3RegistryDAO.java
classes/grouper.client.base.properties
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningSettings.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncLog.java
classes/edu/internet2/middleware/grouper/app/tableSync/ProvisioningSyncResult.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncConfiguration.java
classes/edu/internet2/middleware/grouper/ddl/GrouperDdlUtils.java
classes/edu/internet2/middleware/grouper/pit/PITAttributeAssign.java
classes/edu/internet2/middleware/grouper/app/tableSync/ProvisioningSyncIntegration.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbEvent.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncLogState.java
classes/grouper-loader.base.properties

2020/02/09

grouper_v2_4_0_api_patch_91

GRP-2586: error getting database connection from client

classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncGroup.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncCreateTables.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderDb.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMember.java
classes/grouper.client.base.properties
classes/grouper.hibernate.base.properties
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncJob.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMembership.java

2020/02/13

grouper_v2_4_0_api_patch_92

GRP-2591: sql sync is doing updates for all rows and not comparing numbers across different database vendors

classes/edu/internet2/middleware/grouper/app/loader/OtherJobBase.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncOutput.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSync.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncOtherJob.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbAccess.java

2020/02/13

grouper_v2_4_0_api_patch_93

GRP-2593: need more batching on large SQL changes in the sql sync

classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncSubtype.java

2020/03/24

grouper_v2_4_0_api_patch_94

GRP-2143: rules need effective memberships calculated and change log consumers and daemons
GRP-2617: custom ui for access analysis and join/leave
GRP-2596: decimal and integers should be compared better in sql sync
GRP-2602: grouper duo admin has wrong job name in hib3 loader log
GRP-2606: rabbitmq messages sometimes not being received
GRP-2608: provisioning scalable dao
GRP-2615: Ignore high churn attribute defs
GRP-2593: need more batching on large SQL changes in the sql sync

classes/edu/internet2/middleware/grouper/MembershipFinder.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbEvent.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcDbAccess.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncProvisioningConsumer.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogProcessorMetadata.java
classes/edu/internet2/middleware/grouper/SubjectFinder.java
classes/edu/internet2/middleware/grouperClient/util/GrouperClientUtils.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMember.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiTextResult.java
classes/edu/internet2/middleware/grouper/hooks/examples/GrouperAttributeAssignValueRulesConfigHook.java
classes/edu/internet2/middleware/grouper/messaging/GrouperBuiltinMessagingSystem.java
classes/edu/internet2/middleware/grouper/util/GenerateFieldConstants.java
classes/edu/internet2/middleware/grouper/internal/dao/MessageDAO.java
classes/edu/internet2/middleware/grouper/hibernate/ByObjectStatic.java
classes/edu/internet2/middleware/grouper/hibernate/ByObject.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiGrouper.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncOutput.java
classes/edu/internet2/middleware/grouper/externalSubjects/ExternalSubjectAttrFramework.java
classes/edu/internet2/middleware/grouperDuo/GrouperDuoAdminFullRefresh.java
classes/edu/internet2/middleware/grouper/audit/UserAuditQuery.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncGroup.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMemberDao.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncJob.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncOtherJob.java
classes/edu/internet2/middleware/grouper/registry/RegistryReset.java
classes/edu/internet2/middleware/grouperClientExt/xmpp/EsbEvent.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningProcessingResult.java
classes/edu/internet2/middleware/grouper/app/tableSync/TableSyncCreateTables.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiSql.java
classes/edu/internet2/middleware/grouper/rules/RuleCheckType.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiUserQueryDisplayBean.java
classes/edu/internet2/middleware/grouperMessagingRabbitmq/GrouperMessagingRabbitmqSystem.java
classes/edu/internet2/middleware/grouper/esb/listener/ProvisioningSyncConsumer.java
classes/edu/internet2/middleware/grouper/app/tableSync/ProvisioningSyncResult.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/ProvisioningMembershipMessage.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiEngine.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncHeartbeat.java
classes/edu/internet2/middleware/grouperClient/jdbc/GcSqlAssignPrimaryKey.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogTypeBuiltin.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbConsumer.java
classes/edu/internet2/middleware/grouper/app/loader/OtherJobScript.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMembership.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiUtil.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogHelper.java
classes/edu/internet2/middleware/grouper/app/provisioning/GrouperProvisioningService.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncSubtype.java
classes/edu/internet2/middleware/grouper/cfg/text/GrouperTextContainer.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiTextConfigBean.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbEventContainer.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiUserQueryConfigBean.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiVariableType.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiAzure.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncDao.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiExpressionLanguage.java
classes/edu/internet2/middleware/grouper/app/reports/GrouperReportConfigAttributeNames.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/ProvisioningMessage.java
classes/edu/internet2/middleware/grouper/util/GrouperEmailUtils.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiUserQueryType.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSync.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeDefFinder.java
classes/edu/internet2/middleware/grouper/app/tableSync/ProvisioningSyncIntegration.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncMembershipDao.java
classes/edu/internet2/middleware/grouper/attr/finder/AttributeAssignValueFinder.java
classes/edu/internet2/middleware/grouper/hibernate/GrouperContext.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncLogDao.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiContext.java
classes/edu/internet2/middleware/grouper/app/loader/db/GrouperLoaderResultset.java
classes/grouper.base.properties
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbEventType.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncConfiguration.java
classes/edu/internet2/middleware/grouper/rules/RuleEngine.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableData.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowInstanceAttributeNames.java
classes/edu/internet2/middleware/grouper/app/loader/db/Hib3GrouperLoaderLog.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/RuleConsumer.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSync.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncGroupDao.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcTableSyncTableMetadata.java
classes/edu/internet2/middleware/grouper/misc/GrouperCheckConfig.java
classes/edu/internet2/middleware/grouper/app/workflow/GrouperWorkflowConfigAttributeNames.java
classes/edu/internet2/middleware/grouper/subj/SubjectHelper.java
classes/edu/internet2/middleware/grouper/internal/dao/hib3/Hib3MessageDAO.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncLog.java
classes/edu/internet2/middleware/grouper/changeLog/ChangeLogLabels.java
classes/edu/internet2/middleware/grouper/app/usdu/UsduAttributeNames.java
classes/edu/internet2/middleware/grouper/esb/listener/EsbListenerBase.java
classes/grouperText/grouper.textNg.en.us.base.properties
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiUserQueryBase.java
classes/edu/internet2/middleware/grouper/cfg/GrouperConfig.java
classes/edu/internet2/middleware/grouper/esb/listener/ProvisioningSyncConsumerResult.java
classes/edu/internet2/middleware/grouper/Group.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiLdap.java
classes/edu/internet2/middleware/grouper/util/GrouperUtil.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiAttributeNames.java
classes/edu/internet2/middleware/grouperClient/jdbc/tableSync/GcGrouperSyncJobDao.java
classes/edu/internet2/middleware/grouper/rules/RuleDefinition.java
classes/edu/internet2/middleware/grouper/ui/customUi/CustomUiTextType.java
classes/edu/internet2/middleware/grouper/app/gsh/GrouperGroovysh.java
classes/grouper-loader.base.properties

2020/03/24

grouper_v2_4_0_api_patch_95

GRP-2618: esb event doesnt like unexpected events

classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbConsumer.java

2020/03/24

grouper_v2_4_0_api_patch_96

GRP-2619: esb consumer not registering successes correctly

classes/edu/internet2/middleware/grouper/changeLog/ChangeLogHelper.java
classes/edu/internet2/middleware/grouper/changeLog/esb/consumer/EsbConsumer.java
classes/edu/internet2/middleware/grouper/esb/listener/EsbListenerBase.java

UI patches

2018/09/06

grouper_v2_4_0_ui_patch_0

GRP-1881: Change away from MyServices widget and then can't get it back indexColumnMenu.jsp
GRP-1857: Specify Subject Sources for Grouper UI (Web)
GRP-1872: Value type is not saved when creating a new attribute definition
GRP-1884: help.jsp not working in 2.4

files/WEB-INF/grouperUi2/index/indexColumnMenu.jsp
classes/grouperText/help.fr.html
classes/grouper-ui.base.properties
classes/grouperText/grouper.text.en.us.base.properties
files/WEB-INF/grouperUi2/attributeDef/newAttributeDef.jsp
classes/grouperText/help.en.html
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDef.java
files/WEB-INF/grouperUi2/index/help.jsp

2018/10/12

grouper_v2_4_0_ui_patch_1

GRP-1826: Disable/Enable Loader job

files/WEB-INF/grouperUi2/index/miscellaneous.jsp
files/WEB-INF/grouperUi2/group/grouperLoaderMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/ui/GrouperUiFilter.java
files/WEB-INF/grouperUi2/group/grouperLoaderGroupTab.jsp
classes/grouper-ui.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperLoaderContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java
classes/grouperText/grouper.text.en.us.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiDaemonJob.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp

2018/11/02

grouper_v2_4_0_ui_patch_2

GRP-1880: Develop New Template Wizard
GRP-1857: Specify Subject Sources for Grouper UI (Web)
GRP-1943: add debugging information in UI search

classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperNewServiceTemplateLogic.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Main.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceAction.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTierStructureLogic.java
files/WEB-INF/grouperUi2/stem/stemTemplate.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionArgument.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/StemTemplateContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionType.java
classes/grouperText/grouper.text.en.us.base.properties
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/TemplateContainerConfig.java
files/WEB-INF/grouperUi2/stem/stemNewTemplate.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTemplateLogicBase.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Template.java

2018/11/05

grouper_v2_4_0_ui_patch_3

GRP-1941: LDAP loader - parsing complex attribute values

GRP-1877: LDAP_GROUPS_FROM_ATTRIBUTES should utilize extra attributes to construct display name

files/WEB-INF/grouperUi2/group/grouperLoaderEditGroupTab.jsp
files/WEB-INF/grouperUi2/group/grouperLoaderGroupTab.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperLoaderContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
classes/grouperText/grouper.text.en.us.base.properties

2018/11/15

grouper_v2_4_0_ui_patch_4

GRP-1950: Minor improvements to daemon jobs page

files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp
classes/grouperText/grouper.text.en.us.base.properties
classes/grouper-ui.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiDaemonJob.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java

2018/12/12

grouper_v2_4_0_ui_patch_5

GRP-1965: allow bulk remove members from group by uploading a list

files/WEB-INF/grouperUi2/groupImport/groupImport.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GroupImport.java
classes/grouperText/grouper.text.en.us.base.properties

2019/01/05

grouper_v2_4_0_ui_patch_6

GRP-1963: grouper configuration metadata

classes/grouper-ui.base.properties

2019/01/05

grouper_v2_4_0_ui_patch_7

GRP-1950: Minor improvements to daemon jobs page
GRP-1974: Add role inheritance to new ui

classes/grouperText/grouper.text.en.us.base.properties

2019/01/07

grouper_v2_4_0_ui_patch_8

GRP-1950: Minor improvements to daemon jobs page
GRP-1974: Add role inheritance to new ui
GRP-1973: Use group name as routing key to rabbitmq
GRP-1963: grouper configuration metadata
GRP-1920: Startup doesn't print some config properties defined outside the default properties files
GRP-1957: Logout redirectToUrl not working
GRP-1944: Assign grouper types to objects

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperObjectTypes.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java
files/WEB-INF/grouperUi2/group/groupHeader.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/objectTypes/GuiGrouperObjectTypesAttributeValue.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupSettingsView.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/objectTypeObjectSettingsView.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Deprovisioning.java
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/stem/stemHeader.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ObjectTypeContainer.java
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsView.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypeObjectSettingsEditHelper.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupSettingsEdit.jsp
files/WEB-INF/grouperUi2/role/roleInheritance.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobsViewLogsResults.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobsViewLogs.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/RoleInheritanceContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiHib3GrouperLoaderLog.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Role.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsEdit.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/group/grouperLoaderEditGroupTab.jsp
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/Logout.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java

2019/01/28

grouper_v2_4_0_ui_patch_9

GRP-2000: null pointer on viewing group as non root

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java

2019/02/07

grouper_v2_4_0_ui_patch_10

GRP-2006: Membership UI advanced options

classes/grouperText/grouper.text.en.us.base.properties

2019/02/07

grouper_v2_4_0_ui_patch_11

GRP-2006: Membership UI advanced options

classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiMembershipContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/MembershipGuiContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Membership.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiMembershipSubjectContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GroupContainer.java
files/WEB-INF/grouperUi2/group/groupContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiPITMembershipView.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
files/WEB-INF/grouperUi2/group/viewGroup.jsp

2019/02/16

grouper_v2_4_0_ui_patch_12

GRP-1966: UI Visualization

files/grouperExternal/public/assets/css/grouperUi2.css
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/VisualizationContainer.java
classes/grouperText/grouper.text.en.us.base.properties
files/grouperExternal/public/assets/js/viz.v1.8.2.js
files/grouperExternal/public/assets/js/grouperVisualization.js
files/grouperExternal/public/assets/css/c3.min.css
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Visualization.java
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
files/grouperExternal/public/assets/js/d3-graphviz.v2.6.1.min.js
files/WEB-INF/grouperUi2/assetsJsp/commonHead.jsp
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/group/groupVisualization.jsp
files/WEB-INF/grouperUi2/visualization/visualizationMain.jsp
files/WEB-INF/grouperUi2/stem/stemVisualization.jsp
files/grouperExternal/public/assets/js/c3.min.js
files/WEB-INF/grouperUi2/subject/subjectVisualization.jsp
files/WEB-INF/grouperUi2/subject/subjectMoreActionsButtonContents.jsp
files/grouperExternal/public/assets/js/d3.min.js
classes/edu/internet2/middleware/grouper/grouperUi/beans/preferences/UiV2VisualizationPreference.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java

2019/02/16

grouper_v2_4_0_ui_patch_12

GRP-1972: Build visualization graph of object relationships

classes/grouperText/grouper.text.en.us.base.properties

2019/02/16

grouper_v2_4_0_ui_patch_13

GRP-1972: Build visualization graph of object relationships

files/grouperExternal/public/assets/js/c3.min.js
files/grouperExternal/public/assets/js/viz.v1.8.2.js
files/WEB-INF/grouperUi2/assetsJsp/commonHead.jsp
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/preferences/UiV2VisualizationPreference.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
files/grouperExternal/public/assets/js/d3-graphviz.v2.6.1.min.js
files/grouperExternal/public/assets/js/d3.min.js
files/WEB-INF/grouperUi2/group/groupVisualization.jsp
files/grouperExternal/public/assets/css/grouperUi2.css
files/grouperExternal/public/assets/js/grouperVisualization.js
files/WEB-INF/grouperUi2/visualization/visualizationMain.jsp
files/WEB-INF/grouperUi2/subject/subjectVisualization.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/VisualizationContainer.java
files/WEB-INF/grouperUi2/stem/stemVisualization.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Visualization.java
files/grouperExternal/public/assets/css/c3.min.css
files/WEB-INF/grouperUi2/subject/subjectMoreActionsButtonContents.jsp

2019/02/17

grouper_v2_4_0_ui_patch_14

GRP-2036: need to escape object names, and test with javascript in display name, name, and description

files/grouperExternal/public/assets/js/grouperVisualization.js
files/WEB-INF/grouperUi2/visualization/visualizationMain.jsp

2019/03/05

grouper_v2_4_0_ui_patch_15

GRP-2003: add obliterate stem to ui

classes/grouperText/grouper.text.en.us.base.properties

2019/03/05

grouper_v2_4_0_ui_patch_16

GRP-2003: add obliterate stem to ui

classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/StemDeleteContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
files/WEB-INF/grouperUi2/stem/stemDelete.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java

2019/03/17

grouper_v2_4_0_ui_patch_17

GRP-2064: cannot add self in grouper, separation of duties

classes/grouperText/grouper.text.en.us.base.properties

2019/03/17

grouper_v2_4_0_ui_patch_18

GRP-2064: cannot add self in grouper, separation of duties

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
files/WEB-INF/grouperUi2/group/groupHeader.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GroupContainer.java
files/WEB-INF/grouperUi2/group/groupEdit.jsp

2019/03/19

grouper_v2_4_0_ui_patch_19

GRP-2062: Show and filter group memberships under a folder

classes/grouperText/grouper.text.en.us.base.properties

2019/03/19

grouper_v2_4_0_ui_patch_20

GRP-2062: Show and filter group memberships under a folder

files/WEB-INF/grouperUi2/stem/stemTemplate.jsp
files/WEB-INF/grouperUi2/stem/stemAttestationSettings.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiPITMembershipView.java
files/WEB-INF/grouperUi2/stem/groupMembershipsInFolderContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/StemContainer.java
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningFolderSettingsView.jsp
files/WEB-INF/grouperUi2/stem/groupMembershipsInFolder.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsView.jsp
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiUtils.java
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningFolderReport.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningFolderSettingsEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiGroup.java
files/WEB-INF/grouperUi2/stem/stemAttestationGroups.jsp
files/WEB-INF/grouperUi2/stem/stemMoreTab.jsp
files/WEB-INF/grouperUi2/stem/stemAttestation.jsp
files/WEB-INF/grouperUi2/stem/viewStem.jsp
files/WEB-INF/grouperUi2/stem/stemVisualization.jsp
files/WEB-INF/grouperUi2/stem/stemPrivileges.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java
files/WEB-INF/grouperUi2/stem/thisFoldersPrivilegesInheritedFromFolders.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GroupContainer.java
files/WEB-INF/grouperUi2/stem/privilegesInheritedToObjects.jsp

2019/03/22

grouper_v2_4_0_ui_patch_21

GRP-2048: Improve save/refresh behavior of stem navigator tree

classes/grouper-ui.base.properties
classes/Owasp.CsrfGuard.overlay.properties

2019/03/22

grouper_v2_4_0_ui_patch_22

GRP-2048: Improve save/refresh behavior of stem navigator tree

classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/IndexContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDef.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDefName.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Main.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Visualization.java
classes/edu/internet2/middleware/grouper/j2ee/GrouperUiRestServlet.java
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiUtils.java
files/WEB-INF/grouperUi2/assetsJsp/commonBottom.jsp
files/WEB-INF/grouperUi2/attributeDef/viewAttributeDef.jsp
files/WEB-INF/grouperUi2/attributeDefAction/attributeDefActionsPage.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningAttributeDefSettingsEdit.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningAttributeDefSettingsView.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningFolderSettingsEdit.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningFolderSettingsView.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningGroupSettingsEdit.jsp
files/WEB-INF/grouperUi2/group/viewGroup.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsEdit.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsView.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupSettingsEdit.jsp
files/WEB-INF/grouperUi2/index/index.jsp
files/WEB-INF/grouperUi2/stem/stemAttestation.jsp
files/WEB-INF/grouperUi2/stem/stemVisualization.jsp
files/WEB-INF/grouperUi2/stem/viewStem.jsp
files/grouperExternal/public/assets/js/grouperUi.js

2019/04/23

grouper_v2_4_0_ui_patch_23

GRP-2109: allow templates to be generated by gsh
GRP-2108: allow hooks to manipulate the UI

classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperNewServiceTemplateLogic.java
classes/edu/internet2/middleware/grouper/ui/hooks/GrouperUiHookShim.java
classes/edu/internet2/middleware/grouperClient/config/GrouperUiTextConfig.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/TextContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Template.java
files/grouperExternal/public/assets/js/grouperUi.js
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTemplateLogicBase.java

2019/05/08

grouper_v2_4_0_ui_patch_24

GRP-2119: do not show all types on "view types" screen
GRP-2120: unassigning types should be easier... maybe an X next to it?

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperObjectTypes.java
classes/grouperText/grouper.text.en.us.base.properties
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupSettingsView.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderSettingsView.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/objectTypeObjectSettingsView.jsp

2019/05/09

grouper_v2_4_0_ui_patch_25

GRP-2131: import subjects broke with other patch

classes/edu/internet2/middleware/grouper/ui/util/GrouperUiUtils.java

2019/05/11

grouper_v2_4_0_ui_patch_26

GRP-2129: grouper types should have tooltips that describe the type
GRP-2135: the order of GDG types should be as in the drop down for editing

classes/grouperText/grouper.text.en.us.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTierStructureLogic.java
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypeObjectSettingsEditHelper.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/objectTypes/GuiGrouperObjectTypesAttributeValue.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ObjectTypeContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperObjectTypes.java
files/WEB-INF/grouperUi2/grouperObjectTypes/objectTypeObjectSettingsView.jsp

2019/05/13

grouper_v2_4_0_ui_patch_27

GRP-2079: add local entity support in new ui

files/WEB-INF/grouperUi2/subject/thisSubjectsStemPrivileges.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Visualization.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/SubjectContainer.java
files/WEB-INF/grouperUi2/subject/viewSubject.jsp
files/WEB-INF/grouperUi2/localEntity/localEntityPrivilegeContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiGroup.java
classes/grouper-ui.base.properties
files/grouperExternal/public/assets/js/grouperUi.js
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Subject.java
files/WEB-INF/grouperUi2/subject/thisSubjectsInheritedPrivilegesInvolvement.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2LocalEntity.java
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/localEntity/localEntityDelete.jsp
files/WEB-INF/grouperUi2/subject/subjectViewAudits.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
files/WEB-INF/grouperUi2/group/groupHeader.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/tree/DojoTreeItemChild.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiEntity.java
files/WEB-INF/grouperUi2/subject/thisSubjectsGroupPrivileges.jsp
classes/grouperText/grouper.text.en.us.base.properties
files/WEB-INF/grouperUi2/subject/subjectVisualization.jsp
files/WEB-INF/grouperUi2/localEntity/newLocalEntity.jsp
files/WEB-INF/grouperUi2/localEntity/localEntityEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiObjectBase.java
files/WEB-INF/grouperUi2/subject/subjectMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Main.java
files/WEB-INF/grouperUi2/subject/thisSubjectsAttributeDefPrivileges.jsp
files/WEB-INF/grouperUi2/localEntity/localEntityPrivileges.jsp
files/WEB-INF/grouperUi2/group/groupDelete.jsp
files/WEB-INF/grouperUi2/subject/subjectHeader.jsp

2019/05/14

grouper_v2_4_0_ui_patch_28

GRP-2139: lite ui cant be used when installed on top of 2.4 due to get request not allowed

classes/Owasp.CsrfGuard.overlay.properties
classes/edu/internet2/middleware/grouper/j2ee/GrouperUiRestServlet.java

2019/05/29

grouper_v2_4_0_ui_patch_29

GRP-2128: Detect object types based on folders' extensions and allow auto assigning object types
GRP-2134: Add types when creating folders via templates
GRP-2155: types on folders should have checkboxes so its optional
GRP-2156: If a checkbox is unchecked on the template form and another action requires it, make it a no-op

classes/edu/internet2/middleware/grouper/grouperUi/beans/api/objectTypes/GuiStemObjectType.java
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderAutoAssign.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperNewServiceTemplateLogic.java
classes/grouperText/grouper.text.en.us.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ObjectTypeContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperObjectTypes.java
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesFolderMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionType.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiObjectBase.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTierStructureLogic.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTemplateLogicBase.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/objectTypes/GuiGrouperObjectTypesAttributeValue.java

2019/05/31

grouper_v2_4_0_ui_patch_30

GRP-2173: cant view entity due to local entity patch ui #27

files/WEB-INF/grouperUi2/subject/subjectHeader.jsp

2019/06/03

grouper_v2_4_0_ui_patch_31

GRP-2102: Visualization fixes for 2.4 (roll-up task)

classes/grouperText/grouper.text.en.us.base.properties

2019/06/03

grouper_v2_4_0_ui_patch_32

GRP-2102: Visualization fixes for 2.4 (roll-up task)
- GRP-2035: visualization of subject should show direct group membership for that subject
- GRP-2071: Add visualization option for full screen
- GRP-2091: grouper visualization fails on circular references
- GRP-2092: add key/legend to visualization
- GRP-2094: visualization: simple (non-listOfGroups) loaded groups should show membership count
- GRP-2095: visualization: label loader groups, ref, basis, policy, composites
- GRP-2096: visualization: if showing members, show the number and "members", e.g. "125 members"
- GRP-2097: visualization: option to include groups in counts
- GRP-2098: visualization: add option to show direct and total counts
- GRP-2099: visualization: take tooltip off entire image
- GRP-2103: UI visualization fix dot output syntax errors
- GRP-2107: visualization svg not working
- GRP-2150: Visualization change arrow directions for group memberships
- GRP-2152: visualization: change arrow for simple loader from loader color to membership

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Visualization.java
files/WEB-INF/grouperUi2/visualization/visualizationMain.jsp
files/WEB-INF/grouperUi2/assetsJsp/commonHead.jsp
files/grouperExternal/public/assets/js/grouperVisualization.js
files/grouperExternal/public/assets/css/grouperUi2.css
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/VisualizationContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/preferences/UiV2VisualizationPreference.java

2019/06/03

grouper_v2_4_0_ui_patch_33

GRP-2177: null string properties in java cause viz issues, and if cant read loader attributes

files/grouperExternal/public/assets/js/grouperVisualization.js

2019/06/04

grouper_v2_4_0_ui_patch_34

GRP-2176: move grouper externalized text from ui to api
GRP-2182: add javax servlet api to ui and ws so gsh works completely

classes/edu/internet2/middleware/grouper/ui/GrouperNavResourceBundle.java
lib/javax.servlet-api-3.1.0.jar
classes/edu/internet2/middleware/grouper/ui/GrouperUiFilter.java
classes/edu/internet2/middleware/grouper/ui/hooks/GrouperUiHookShim.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperObjectTypes.java
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiUtils.java
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiConfig.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/TextContainer.java

2019/06/05

grouper_v2_4_0_ui_patch_35

GRP-1981: Provisioning in UI

files/WEB-INF/grouperUi2/provisioning/provisioningFolderSettingsEdit.jsp
files/WEB-INF/grouperUi2/provisioning/provisioningObjectSettingsEditHelper.jsp
files/WEB-INF/grouperUi2/provisioning/provisioningFolderMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/provisioning/GuiGrouperProvisioningAttributeValue.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ProvisioningContainer.java
files/WEB-INF/grouperUi2/provisioning/provisioningGroupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/provisioning/provisioningFolderSettingsView.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Provisioning.java
files/WEB-INF/grouperUi2/provisioning/provisioningGroupSettingsEdit.jsp
files/WEB-INF/grouperUi2/provisioning/provisioningGroupSettingsView.jsp
files/WEB-INF/grouperUi2/provisioning/provisioningSettingsView.jsp

2019/06/09

grouper_v2_4_0_ui_patch_36

GRP-2063: Allow ad-hoc sql reports

classes/Owasp.CsrfGuard.overlay.properties

2019/06/09

grouper_v2_4_0_ui_patch_37

GRP-2063: Allow ad-hoc sql reports

files/WEB-INF/grouperUi2/grouperReport/grouperReportGroupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/grouperReport/reportConfigObjectEditHelper.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperReport.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiReportConfig.java
files/WEB-INF/grouperUi2/grouperReport/folderReportConfigWithInstances.jsp
files/WEB-INF/grouperUi2/grouperReport/folderReportConfigEdit.jsp
files/WEB-INF/grouperUi2/grouperReport/reportConfigObjectAddHelper.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiGrouperReportConfig.java
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/grouperReport/groupReportInstanceDetails.jsp
files/WEB-INF/grouperUi2/grouperReport/grouperReportFolderReportViewButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiReportInstance.java
files/WEB-INF/grouperUi2/grouperReport/folderReportConfig.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperReportContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperReportConfigInstance.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/j2ee/GrouperUiRestServlet.java
files/WEB-INF/grouperUi2/grouperReport/groupReportConfig.jsp
files/WEB-INF/grouperUi2/stem/stemMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/grouperReport/folderReportConfigAdd.jsp
files/WEB-INF/grouperUi2/grouperReport/grouperReportFolderMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/grouperReport/folderReportInstanceDetails.jsp
files/WEB-INF/grouperUi2/grouperReport/groupReportConfigWithInstances.jsp
files/WEB-INF/grouperUi2/grouperReport/groupReportConfigEdit.jsp
files/WEB-INF/grouperUi2/grouperReport/groupReportConfigAdd.jsp

2019/06/12

grouper_v2_4_0_ui_patch_38

GRP-2157: add template for policy group

classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTierStructureLogic.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperNewServiceTemplateLogic.java
files/WEB-INF/grouperUi2/stem/stemNewTemplate.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/StemTemplateContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTemplatePolicyGroupLogic.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionType.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Template.java
classes/grouper-ui.base.properties
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperTemplateLogicBase.java

2019/07/24

grouper_v2_4_0_ui_patch_39

GRP-1953: grouper configuration in database and ui

classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigFile.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigProperty.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigSection.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ConfigurationContainer.java
classes/edu/internet2/middleware/grouper/j2ee/GrouperRequestWrapper.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiConfig.java
files/WEB-INF/grouperUi2/configure/configure.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java
files/grouperExternal/public/assets/css/grouperUi2.css
classes/grouper-ui.base.properties
files/WEB-INF/grouperUi2/index/miscellaneous.jsp

2019/08/19

grouper_v2_4_0_ui_patch_40

GRP-2261: configuration in ui edit screens

files/WEB-INF/grouperUi2/configure/configurationFileEditEntry.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/ConfigUtils.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ConfigurationContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiAuditEntry.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigProperty.java
files/WEB-INF/grouperUi2/index/miscellaneous.jsp
files/WEB-INF/grouperUi2/configure/configurationFileAddEntry.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java
files/WEB-INF/grouperUi2/configure/configureIndex.jsp
files/WEB-INF/grouperUi2/configure/configureFilesMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/configure/configure.jsp

2019/08/19

grouper_v2_4_0_ui_patch_41

GRP-2202: Attestation using reports
GRP-2265: Attestation UI doesn't show "Folder with settings"

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Attestation.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiAttestation.java
files/WEB-INF/grouperUi2/stem/stemAttestationEdit.jsp
files/WEB-INF/grouperUi2/stem/viewStem.jsp
files/WEB-INF/grouperUi2/stem/stemAttestation.jsp
files/WEB-INF/grouperUi2/group/groupAttestationView.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AttestationContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java

2019/08/20

grouper_v2_4_0_ui_patch_42

GRP-2151: Add workflow approval forms to grouper

files/WEB-INF/grouperUi2/workflow/groupJoinInitiateWorkflow.jsp
files/WEB-INF/grouperUi2/workflow/grouperWorkflowWaitingForApprovals.jsp
files/WEB-INF/grouperUi2/workflow/groupWorkflowConfigAdd.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GroupContainer.java
files/WEB-INF/grouperUi2/index/miscellaneous.jsp
files/WEB-INF/grouperUi2/workflow/grouperWorkflowViewInstance.jsp
files/WEB-INF/grouperUi2/workflow/groupWorkflowConfig.jsp
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/workflow/grouperWorkflowGroupMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiGrouperWorkflowConfig.java
files/WEB-INF/grouperUi2/workflow/grouperWorkflowConfigDetails.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiGrouperWorkflowInstance.java
files/WEB-INF/grouperUi2/workflow/workflowConfigObjectAddHelper.jsp
files/WEB-INF/grouperUi2/workflow/workflowConfigObjectEditHelper.jsp
files/WEB-INF/grouperUi2/workflow/grouperWorkflowViewInstances.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
files/WEB-INF/grouperUi2/workflow/groupWorkflowMiscForm.jsp
files/WEB-INF/grouperUi2/workflow/grouperWorkflowInstancesSubjectInitiated.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
files/WEB-INF/grouperUi2/workflow/groupWorkflowConfigEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperWorkflow.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/WorkflowContainer.java

2019/08/20

grouper_v2_4_0_ui_patch_43

GRP-2249: member batch import incompatible with content security policy blocking iframes
GRP-2247: Attribute def values not showing properly in the edit text field
GRP-2238: enabled/disabled membership screen shows enabled when not
GRP-2185: 'Copy folder' fails when targeting same parent folder with different name
GRP-2203: stem membership doesnt show right count
GRP-2219: do not submit attribute value edit form on enter key
GRP-2289: Clear out the entire cache when deprovisioning config is edited on root

files/WEB-INF/grouperUi2/membershipAttribute/membershipAttributeAssignValueEdit.jsp
files/grouperExternal/public/assets/js/grouperUi.js
files/WEB-INF/grouperUi2/attributeDefAttribute/attributeDefAttributeAssignValueEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/json/GuiPaging.java
files/WEB-INF/grouperUi2/stemAttribute/stemAttributeAssignValueEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/DeprovisioningContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiMembershipContainer.java
files/WEB-INF/grouperUi2/attributeDef/attributeDefPrivilegeContents.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningObjectSettingsView.jsp
files/WEB-INF/grouperUi2/membership/traceAttributeDefPrivileges.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java
files/WEB-INF/grouperUi2/subjectAttribute/subjectAttributeAssignValueEdit.jsp
files/WEB-INF/grouperUi2/groupAttribute/groupAttributeAssignValueEdit.jsp
classes/edu/internet2/middleware/grouper/ui/tags/GrouperPagingTag2.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Deprovisioning.java

2019/09/29

grouper_v2_4_0_ui_patch_44

GRP-2300: LDAP loader in UI shows subject attribute as required differently from wiki
GRP-2264: Attestation UI doesn't show correct date to recertify and email info
GRP-2281: show something about folder composites perhaps?
GRP-2299: LDAP loader Updaters and attrUpdaters field using same value
GRP-2249: member batch import incompatible with content security policy blocking iframe
GRP-2333: UI shouldn't be adding wildcards for subject id/identifier queries
GRP-2290: "members" tab doesnt work when on electronic forms screen
GRP-2220: members tab doesn't work when editing types
GRP-2218: UI fails to refresh group membership when users "Joins" the group.
GRP-1841: Attribute definition screen in the "Attribute Assignments" sub page, clicking on "Attribute Names" tab does not function
GRP-1709: add alternate name to new ui group/folder edit screens.
GRP-2338: daemon logs should have a way to get back

files/WEB-INF/grouperUi2/attributeDefAttribute/viewAttributeDefAttributeAssigns.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Stem.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/dojo/DojoComboLogic.java
files/WEB-INF/grouperUi2/group/grouperLoaderEditGroupTab.jsp
files/WEB-INF/grouperUi2/group/viewGroup.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AttestationContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperLoader.java
files/WEB-INF/grouperUi2/workflow/grouperWorkflowConfigDetails.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningAttributeDefSettingsView.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningAttributeDefReport.jsp
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningAttributeDefSettingsEdit.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobsViewLogs.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2GrouperWorkflow.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDefName.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Attestation.java
files/WEB-INF/grouperUi2/workflow/groupWorkflowConfigEdit.jsp
files/WEB-INF/grouperUi2/workflow/groupWorkflowConfig.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Group.java
files/WEB-INF/grouperUi2/stem/groupMembershipsInFolder.jsp
files/WEB-INF/grouperUi2/group/groupEdit.jsp
files/WEB-INF/grouperUi2/stem/stemEdit.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupSettingsView.jsp
files/WEB-INF/grouperUi2/workflow/grouperWorkflowViewInstances.jsp
files/WEB-INF/grouperUi2/grouperObjectTypes/grouperObjectTypesGroupSettingsEdit.jsp
files/WEB-INF/grouperUi2/workflow/groupWorkflowConfigAdd.jsp
files/WEB-INF/grouperUi2/group/groupAttestationView.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Provisioning.java
files/WEB-INF/grouperUi2/stem/stemAttestation.jsp

2019/10/01

grouper_v2_4_0_ui_patch_45

GRP-2345: error on privs of loader attributes

classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiGroup.java
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp

2019/10/20

grouper_v2_4_0_ui_patch_46

GRP-2361: ui for import/edit/delete database config
GRP-2362: GrouperSystem cant be found
GRP-2337: daemon page should show a more accurate status
GRP-2363: v2.4 unit test fixes (round 1)
GRP-2358: deprovisioning email service looking for attributes and not going to root folder
GRP-2188: add cc etc to grouperEmail
GRP-2366: GrouperUtil.stripEnd should be GrouperUtil.stripSuffix

files/WEB-INF/grouperUi2/configure/configurationFileEditEntry.jsp
classes/edu/internet2/middleware/grouper/j2ee/GrouperRequestWrapper.java
files/WEB-INF/grouperUi2/configure/configure.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiDaemonJob.java
files/grouperExternal/public/assets/js/grouperUi.js
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ConfigurationContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java
files/WEB-INF/grouperUi2/configure/configureFilesMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/ConfigUtils.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigProperty.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp
files/WEB-INF/grouperUi2/configure/configurationFileImport.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigFile.java

2019/10/20

grouper_v2_4_0_ui_patch_47

GRP-2366: GrouperUtil.stripEnd should be GrouperUtil.stripSuffix

classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigFile.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java
classes/edu/internet2/middleware/grouper/ui/util/GrouperUiUtils.java

2019/10/21

grouper_v2_4_0_ui_patch_48

GRP-2367: viewing database config is slow

classes/edu/internet2/middleware/grouper/grouperUi/beans/config/ConfigUtils.java

2019/10/24

grouper_v2_4_0_ui_patch_49

GRP-2303: create screen to show attribute assignments from an attribute def name

files/WEB-INF/grouperUi2/attributeDef/attributeDefAssignAddValue.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AttributeDefNameContainer.java
files/WEB-INF/grouperUi2/attributeDef/attributeDefAssignEdit.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiAttributeAssignFinderResult.java
files/WEB-INF/grouperUi2/attributeDef/attributeDefAssignAddMetadataAssignment.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDefName.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiAttributeAssignFinderResults.java
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameAssignEdit.jsp
classes/edu/internet2/middleware/grouper/j2ee/GrouperUiRestServlet.java
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameAssignAddMetadataAssignment.jsp
files/WEB-INF/grouperUi2/attributeDef/attributeDefAssignValueEdit.jsp
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameView.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2AttributeDef.java
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameAssignValueEdit.jsp
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameAssignAddValue.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AttributeDefContainer.java
files/WEB-INF/grouperUi2/attributeDef/attributeDefViewOwnerEntities.jsp
files/WEB-INF/grouperUi2/attributeDef/attributeDefViewOwners.jsp
files/WEB-INF/grouperUi2/attributeDef/attributeDefMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/attributeDefName/attributeDefNameViewOwnerEntities.jsp

2019/10/28

grouper_v2_4_0_ui_patch_50

GRP-2382: db config issues

files/WEB-INF/grouperUi2/configure/configurationFileEditEntry.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GuiConfigFile.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/ConfigUtils.java

2019/10/28

grouper_v2_4_0_ui_patch_51

GRP-2384: ui configuration changes do not immediately show up on screen

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java

2019/12/23

grouper_v2_4_0_ui_patch_52

GRP-2499: autopage in grouper box so long queries execute successfully
GRP-2023: Modify USDU to allow saving attributes on members, ui, etc
GRP-2412: Folder menu tree to use "..." to indicate a truncated list of items
GRP-2478: error in obliterate stem if too many levels and delete pit
GRP-2475: cursor paging to download large amounts of data
GRP-2477: allow getMembers paging to get all members with no gaps from client
GRP-2451: allow grouper box to have pem in database config
GRP-2465: make grouper box user last longer and be configurable

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Main.java
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionMain.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectSearch.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/ConfigUtils.java
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionMainMoreActionsButtonContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/SubjectResolutionContainer.java
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionStats.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectDeleteAuditsContents.jsp
files/WEB-INF/grouperUi2/assetsJsp/commonBottom.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectDeleteAudits.jsp
files/grouperExternal/public/assets/js/grouperUi.js
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GuiAuditEntry.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
files/WEB-INF/grouperUi2/subjectResolution/unresolvedSubjects.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiSubjectResolutionSubject.java
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionViewSubject.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionViewSubjects.jsp
files/WEB-INF/grouperUi2/subjectResolution/unresolvedSubjectsHelper.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/tree/DojoTreeItemChild.java
classes/edu/internet2/middleware/grouper/j2ee/GrouperUiRestServlet.java
files/WEB-INF/grouperUi2/index/miscellaneous.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2SubjectResolution.java

2019/12/23

grouper_v2_4_0_ui_patch_53

GRP-2501: usdu screen needs to show more info, e.g. subject id, source id, identifier, name, description from members table

files/WEB-INF/grouperUi2/subjectResolution/unresolvedSubjectsHelper.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2SubjectResolution.java

2020/01/02

grouper_v2_4_0_ui_patch_54

GRP-2502: fix sorting and paging of usdu subject screen
GRP-2504: new usduDaemon: subject resolution on miscellaneous page never completes
GRP-2505: grouper csv properties query from wrong name
GRP-2508: add USDU ui option to show deleted subjects or all unresolved and deleted subjects
GRP-2509: allow user to delete subject in USDU screen
GRP-2510: allow view subject to show unresolvable subjects
GRP-2511: improve performance of USDU view subjects page
GRP-2512: add subject id and source id to usdu ui results in list and find screens
GRP-2513: usdu breadcrumbs not correct
GRP-2514: 'days unresolved' is not calculated correctly on usdu ui
GRP-2515: USDU no longer runs during 'daily report'
GRP-2516: usdu is a weekly daemon and diagnostics fails since checks
GRP-2517: client autopaging with no results can return null result

classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Subject.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiSubject.java
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionViewSubject.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2SubjectResolution.java
files/WEB-INF/grouperUi2/subjectResolution/subjectDeleteAuditsContents.jsp
files/WEB-INF/grouperUi2/subjectResolution/unresolvedSubjects.jsp
files/WEB-INF/grouperUi2/subjectResolution/unresolvedSubjectsHelper.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectDeleteAudits.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionMain.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/SubjectResolutionContainer.java
files/WEB-INF/grouperUi2/subjectResolution/subjectSearch.jsp

2020/01/09

grouper_v2_4_0_ui_patch_55

GRP-2539: change "subject resolution" to "unresolvable subjects" in ui
GRP-2368: deprovisioning report has duplicates on it. each group should
GRP-2518: usdu screen doesnt show anything on "deleted" or "unresolved" but yes on "all".
GRP-2521: usduDaemon: subject resolution stats: column heads no action
GRP-2524: deprovisioning not reading correct base config (should be root
GRP-2526: WS startup issue - message issued many times until WS query
GRP-2527: various deprovisioning issues
GRP-2535: all daemon jobs screen should filter by status
GRP-2537: source getAllSubjectIds fails on json marshalling
GRP-2539: change "subject resolution" to "unresolvable subjects" in ui
GRP-2540: Policy Template Privileges
GRP-2541: Miscellaneous >> All daemon jobs "Apply filter" button does not honor URL parameter value ( Example: daemonJobsFilter=usduDaemon )
GRP-2546: background color on recent activity not correct for wide rows

files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionStats.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Deprovisioning.java
files/WEB-INF/grouperUi2/admin/adminDaemonJobsContents.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Admin.java
files/WEB-INF/grouperUi2/subjectResolution/unresolvedSubjectsHelper.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/ServiceActionType.java
files/WEB-INF/grouperUi2/index/indexMain.jsp
files/WEB-INF/grouperUi2/subjectResolution/subjectResolutionViewSubjects.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/AdminContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiDeprovisioningMembershipSubjectContainer.java
files/WEB-INF/grouperUi2/deprovisioning/deprovisioningObjectSettingsView.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobs.jsp

2020/02/05

grouper_v2_4_0_ui_patch_56

GRP-2571: allow import configuration to database from gsh

classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GrouperDbConfigImport.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Configure.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/ConfigUtils.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/config/GrouperDbConfig.java

2020/03/24

grouper_v2_4_0_ui_patch_57

GRP-2143: rules need effective memberships calculated and change log consumers and daemons
GRP-2617: custom ui for access analysis and join/leave
GRP-2596: decimal and integers should be compared better in sql sync
GRP-2602: grouper duo admin has wrong job name in hib3 loader log
GRP-2606: rabbitmq messages sometimes not being received
GRP-2608: provisioning scalable dao
GRP-2615: Ignore high churn attribute defs
GRP-2593: need more batching on large SQL changes in the sql sync

files/WEB-INF/grouperUi2/group/customUiGroup.jsp
files/WEB-INF/grouperUi2/index/indexCustomUi.jsp
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2Main.java
files/WEB-INF/grouperUi2/group/groupMoreActionsButtonContents.jsp
files/WEB-INF/grouperUi2/admin/adminDaemonJobsViewLogsResults.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GrouperRequestContainer.java
classes/edu/internet2/middleware/grouper/grouperUi/serviceLogic/UiV2CustomUi.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiStem.java
files/WEB-INF/grouperUi2/index/index.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiGroup.java
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/CustomUiContainer.java
classes/edu/internet2/middleware/grouper/ui/tags/GrouperAbbreviateTextareaTag.java
files/grouperExternal/public/assets/js/grouperUi.js
classes/Owasp.CsrfGuard.overlay.properties
files/WEB-INF/grouperUi2/index/indexCustomUiTopContainer.jsp
files/WEB-INF/tld/grouper-el.tld
classes/edu/internet2/middleware/grouper/grouperUi/beans/api/GuiAttributeDef.java
classes/edu/internet2/middleware/grouper/j2ee/GrouperUiRestServlet.java
files/WEB-INF/grouperUi2/group/grouperLoaderViewLogsResults.jsp
classes/edu/internet2/middleware/grouper/grouperUi/beans/ui/GroupContainer.java

WS patches

2018/09/10

grouper_v2_4_0_ws_patch_0

GRP-1892: grouper-ws.base.properties / ws.client.user.group.name no longer commented

classes/grouper-ws.base.properties

2019/01/05

grouper_v2_4_0_ws_patch_1

GRP-1963: grouper configuration metadata

classes/grouper-ws.base.properties

2019/02/05

grouper_v2_4_0_ws_patch_2

GRP-1991: Allow any valid exchange type for rabbitmq

classes/edu/internet2/middleware/grouper/ws/GrouperServiceLogic.java

2019/02/08

grouper_v2_4_0_ws_patch_3

GRP-2022: move voot jar into ws

classes/edu/internet2/middleware/grouperVoot/beans/VootEmail.java
classes/edu/internet2/middleware/grouperVoot/messages/VootGetGroupsResponse.java
classes/edu/internet2/middleware/grouperVoot/beans/VootPerson.java
classes/edu/internet2/middleware/grouperVoot/messages/VootErrorResponse.java
classes/edu/internet2/middleware/grouperVoot/beans/VootGroup.java
classes/edu/internet2/middleware/grouperVoot/VootLogic.java
classes/edu/internet2/middleware/grouperVoot/messages/VootResponse.java
classes/edu/internet2/middleware/grouperVoot/restLogic/VootWsRest.java
classes/edu/internet2/middleware/grouperVoot/messages/VootGetMembersResponse.java
classes/edu/internet2/middleware/grouperVoot/VootServlet.java
classes/edu/internet2/middleware/grouperVoot/VootRestHttpMethod.java

2019/03/13

grouper_v2_4_0_ws_patch_4

GRP-2058: add debug info to the kerberos authn ws class

classes/grouper-ws.base.properties

2019/03/13

grouper_v2_4_0_ws_patch_5

GRP-2058: add debug info to the kerberos authn ws class

classes/edu/internet2/middleware/grouper/ws/security/WsGrouperKerberosAuthentication.java

2019/06/06

grouper_v2_4_0_ws_patch_6

GRP-2187: npe with bad params in ws

classes/edu/internet2/middleware/grouper/ws/GrouperServiceJ2ee.java

2019/07/24

grouper_v2_4_0_ws_patch_7

GRP-1953: grouper configuration in database and ui

classes/grouper-ws.base.properties
classes/edu/internet2/middleware/grouper/ws/GrouperWsConfig.java

2019/09/29

grouper_v2_4_0_ws_patch_8

GRP-1980: ws message about versions is backwards
GRP-1709: add alternate name to new ui group/folder edit screens.

classes/edu/internet2/middleware/grouper/ws/coresoap/WsStemToSave.java
classes/edu/internet2/middleware/grouper/ws/util/GrouperWsVersionUtils.java

2019/10/20

grouper_v2_4_0_ws_patch_9

GRP-2365: diagnostic classes should be removed from WS since they are in API

classes/edu/internet2/middleware/grouper/ws/status/DiagnosticSourceTest.java
classes/edu/internet2/middleware/grouper/ws/status/DiagnosticMinGroupSize.java
classes/edu/internet2/middleware/grouper/ws/status/DiagnosticDbTest.java
classes/edu/internet2/middleware/grouper/ws/status/DiagnosticLoaderJobTest.java
classes/edu/internet2/middleware/grouper/ws/status/DiagnosticMemoryTest.java
classes/edu/internet2/middleware/grouper/ws/status/GrouperStatusServlet.java
classes/edu/internet2/middleware/grouper/ws/status/DiagnosticType.java
classes/edu/internet2/middleware/grouper/ws/status/DiagnosticTask.java

2019/10/24

grouper_v2_4_0_ws_patch_10

GRP-2373: change installer to deal with new morphString features

classes/edu/internet2/middleware/grouper/ws/GrouperServiceJ2ee.java

2020/01/09

grouper_v2_4_0_ws_patch_11

GRP-2526: WS startup issue - message issued many times until WS query

classes/edu/internet2/middleware/grouper/ws/GrouperServiceJ2ee.java

PSPNG patches

2018/09/15

grouper_v2_4_0_pspng_patch_0

Getting Grouper 2.4 up to date with Grouper 2.3/PSPNG Patches 17-21. This includes GRP-1345, GRP-1874, GRP-1552, GRP-1683, GRP-1730, GRP-1868, GRP-1882, GRP-1893.

classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisionerFactory.java
classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java
classes/edu/internet2/middleware/grouper/pspng/ChangelogHandlingConfig.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/PspUtils.java
classes/edu/internet2/middleware/grouper/pspng/GrouperGroupInfo.java
classes/edu/internet2/middleware/grouper/pspng/ProvisioningWorkItem.java
classes/edu/internet2/middleware/grouper/pspng/LdapGroupProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerFactory.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapAttributeProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapObject.java
classes/edu/internet2/middleware/grouper/pspng/VoidProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java
classes/edu/internet2/middleware/grouper/pspng/PspChangelogConsumerShim.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerCoordinator.java

2018/11/26

grouper_v2_4_0_pspng_patch_1

GRP-1908: Fixes problem with debug-logging private information

classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java

2019/01/20

grouper_v2_4_0_pspng_patch_2

GRP-1911 Fix problems with ldap-attribute provisioning and prefix with regex characters

classes/edu/internet2/middleware/grouper/pspng/LdapAttributeProvisioner.java

2019/02/20

grouper_v2_4_0_pspng_patch_3

GRP-1959 - PSPNG - FullSyncs delaying/timing out incrementals

classes/edu/internet2/middleware/grouper/pspng/lbmq/Pollable.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java
classes/edu/internet2/middleware/grouper/pspng/lbmq/Offerable.java
classes/edu/internet2/middleware/grouper/pspng/lbmq/AbstractPollable.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/lbmq/AbstractOfferable.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/lbmq/DefaultSubQueueSelection.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncQueueItem.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncStarter.java
classes/edu/internet2/middleware/grouper/pspng/lbmq/LinkedBlockingMultiQueue.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerCoordinator.java

2019/03/12

grouper_v2_4_0_pspng_patch_4

GRP-1931,GRP-1992 - Improves full and incremental sync performance

classes/edu/internet2/middleware/grouper/pspng/LdapSearchProgressHandler.java
classes/edu/internet2/middleware/grouper/pspng/LdapAttributeProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapGroupProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncQueueItem.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/PspUtils.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/ProgressMonitor.java
classes/edu/internet2/middleware/grouper/pspng/PspDatedCache.java
classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java
classes/edu/internet2/middleware/grouper/pspng/LdapObject.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerCoordinator.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/PspDatedCacheElement.java
classes/edu/internet2/middleware/grouper/pspng/LdapUser.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/ProvisioningWorkItem.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java

2019/04/28

grouper_v2_4_0_pspng_patch_5

PSPNG GRP-2056 - Use idIndex values available in ChangeLog after groups are deleted

classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java
classes/edu/internet2/middleware/grouper/pspng/ProvisioningWorkItem.java
classes/edu/internet2/middleware/grouper/pspng/ChangelogHandlingConfig.java
classes/edu/internet2/middleware/grouper/pspng/GrouperGroupInfo.java
classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java

2019/04/30

grouper_v2_4_0_pspng_patch_6

GRP-2112 - Fix cache-size warnings

classes/edu/internet2/middleware/grouper/pspng/ProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java
classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java

2019/06/06

grouper_v2_4_0_pspng_patch_7

(not released yet)

GRP-2192: Fix misplaced placeholders for a few log statements

classes/edu/internet2/middleware/grouper/pspng/ProvisionerCoordinator.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java

2019/07/09 (Test)

grouper_v2_4_0_pspng_patch_8

GRP-2208 - Improvements made to: Caching, Unresolvable-subject handling, Integration tests (particularly Active Directory), and Bug Fixes

classes/edu/internet2/middleware/grouper/pspng/Provisioner.java
classes/edu/internet2/middleware/grouper/pspng/JobStatistics.java
classes/edu/internet2/middleware/grouper/pspng/LdapAttributeProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncQueueItem.java
classes/edu/internet2/middleware/grouper/pspng/LdapObject.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/ProvisioningWorkItem.java
classes/edu/internet2/middleware/grouper/pspng/LdapGroup.java
classes/edu/internet2/middleware/grouper/pspng/LdapUser.java
classes/edu/internet2/middleware/grouper/pspng/GrouperGroupInfo.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncStarter.java
classes/edu/internet2/middleware/grouper/pspng/PspUtils.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/ProvisionerCoordinator.java
classes/edu/internet2/middleware/grouper/pspng/PspChangelogConsumerShim.java
classes/edu/internet2/middleware/grouper/pspng/VoidProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/TargetSystemUser.java
classes/edu/internet2/middleware/grouper/pspng/TargetSystemGroup.java
classes/edu/internet2/middleware/grouper/pspng/LdapSystem.java
classes/edu/internet2/middleware/grouper/pspng/LdapProvisionerConfiguration.java
classes/edu/internet2/middleware/grouper/pspng/LdapGroupProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncProvisioner.java

2019/08/18

grouper_v2_4_0_pspng_patch_9

GRP-2272: Subjects: Null subject_id leads to NPE
GRP-2275: NullPointerException in LdapProvisioner
GRP-2274: JEXL Variables: add groupId and make more consistent

classes/edu/internet2/middleware/grouper/pspng/LdapProvisioner.java
classes/edu/internet2/middleware/grouper/pspng/GrouperGroupInfo.java
classes/edu/internet2/middleware/grouper/pspng/FullSyncQueueItem.java

2019/09/13

grouper_v2_4_0_pspng_patch_10

GRP-2322: pspng is an throwing exception when using ${subject.getAttributeValue(“loginid”) in the userSearchFilter.

classes/edu/internet2/middleware/grouper/pspng/Provisioner.java

2019/09/29

grouper_v2_4_0_pspng_patch_11

GRP-1902: With PSPNG, renaming a folder trigger a full sync / Remember Group Selection between events

classes/edu/internet2/middleware/grouper/pspng/ChangelogHandlingConfig.java
classes/edu/internet2/middleware/grouper/pspng/Provisioner.java

2019/12/22

grouper_v2_4_0_pspng_patch_12

GRP-2481 - Make sure groups that are added under provisioned folders are documented as being selected for provisioning

classes/edu/internet2/middleware/grouper/pspng/Provisioner.java


For more information about upcoming plans, see the Grouper Product Roadmap .

Many other fixes and improvements were also made to all components of the Grouper Toolkit: Grouper API, Administrative & Lite UIs, Grouper Web Services, Grouper Client, Grouper Shell, Grouper Loader, PSP, and the Subject API.

Upgrading to Grouper 2.4 from Grouper 2.3

Using the Grouper Upgrader can simplify your upgrade process. Here is a movie demonstrating the Grouper upgrader.  The upgrader can upgrade an installed env of the API, UI, WS, client, PSP, etc.  If you dont have a build script to manage multiple envs, you might want to use the upgrader.

Upgrade Steps

  1. Make sure you are using Java8/Tomcat8.5
  2. Download the grouper installer
  3. Run the upgrader for each env (test, prod, ui, ws, etc)

Important Changes in Grouper 2.4 that impact the upgrade

GSH next generation: GSH now uses Groovy shell.  If your scripts dont work, set this in grouper.properties.  (Though also inform the Grouper developers via Jira or email in case a fix is needed since the legacy GSH will be removed in the future.)

gsh.useLegacy = true

Convert the ehcache xml file to properties

This is taken care of by the upgrader above.   If not, then you can do this manually

  1. If you have not customized Grouper caching (generally the case), just delete the ehcache xml and use the properties file shipped with Grouper.
  2. If you have customized Grouper caching
    1. Run the grouperInstaller → upgradeTask to convert this file
    2. Copy the grouper.cache.properties to all envs (prod, test, ui, ws, etc)

Convert the sources.xml to subject.properties

This is taken care of by the upgrader above.   If not, then you can do this manually

  1. Run the grouperInstaller → admin → upgradeTask to convert this file
  2. Copy the subject.properties to all envs (prod, test, ui, ws, etc)

vt-ldap was converted to Ldaptive

  1. Test your LDAP loader and subject sources to make sure they work correctly.  Note that if you use LDAP for your subject source, your configuration must change.  For more details, visit the vt-ldap to ldaptive migration for LDAP access page.  Also, try the subject source diagnostics to confirm your configuration.

Note that the admin and lite UIs are removed

  1. If you know of applications which deep link to the admin or lite UIs, update those links.
  2. If you have a reason to continue using these old UIs, there is an option to manually redeploy them.  (Though let us know if there is a missing feature or issue in the New UI.)

Custom member fields have been deprecated

  1. This was a very uncommon feature so most people should not be impacted.  Previously, each individual group could have multiple membership lists.  There would be the default list of members, but then you could also specify separate membership lists as well.  Going forward, the best practice is to use separate groups for those custom lists instead.  Custom lists are not supported in the New UI, but if you still use them, they will be available in the Admin UI if you choose to manually redeploy it.

Schema updates

  1. In previous Grouper upgrades, it was very common for large schema updates that required downtime to make the adjustments.  For the 2.3 to 2.4 upgrade, the only updates are new indexes and a new table.  The upgrader will automatically add these without requiring a downtime.

Check logs

  1. Login to your UI, do some WS calls, and check your logs for errors

Internationalization

  1. if you use internationalization, change grouper.properties
    from:  grouper.text.bundle.1.fileNamePrefix = grouperText/grouper.text.fr.fr     
    to:       grouper.text.bundle.1.fileNamePrefix = grouperText/grouper.textNg.fr.fr


See Also

Release Notes for Grouper 2.4

See Also

Grouper Release Announcements

Blog on Grouper Deprovisioning with Grouper 2.4 (September 2018)


  • No labels