diff --git a/.github/scripts/gather_repo_urls.py b/.github/scripts/gather_repo_urls.py index a73aba9..553ea8d 100644 --- a/.github/scripts/gather_repo_urls.py +++ b/.github/scripts/gather_repo_urls.py @@ -29,9 +29,12 @@ def extract_min_essentials_version(repo): logging.error(f"Error processing repo {repo.name}: {e}") return "N/A" -def generate_markdown_file(repos): - logging.debug("Generating markdown file.") - +def process_repositories(repo_list): + """ + Processes the repositories to calculate counts and generate the markdown file. + """ + logging.debug("Processing repositories to calculate counts and generate markdown.") + # Initialize counters total_epi_repos = 0 total_release_1_x = 0 @@ -40,17 +43,35 @@ def generate_markdown_file(repos): with open('README.md', 'w', newline='\n') as file: file.write("# Essentials Plugin Library\n\n") - + # Iterate through repos to calculate counts - for repo in sorted(repos, key=lambda x: x.name): + for repo in sorted(repo_list, key=lambda x: x.name): if repo.name.startswith('epi-'): + logging.debug(f"Processing repository: {repo.name}") total_epi_repos += 1 - releases = repo.get_releases() + + # Convert PaginatedList to list before accessing + releases = list(repo.get_releases()) + tags = list(repo.get_tags()) + current_release = "N/A" - for release in releases: - if not release.prerelease: - current_release = release.tag_name - break + latest_build_tag = "N/A" + + # Get the latest release + if releases: + for release in releases: + if not release.prerelease: + current_release = release.tag_name + break + else: + logging.warning(f"No releases found for repository: {repo.name}") + + # Get the latest build tag + if tags: + latest_build_tag = tags[0].name # Get the most recent tag + else: + latest_build_tag = "N/A" # Handle empty tags list + logging.warning(f"No tags found for repository: {repo.name}") # Count based on release version if current_release.startswith("1."): @@ -69,24 +90,37 @@ def generate_markdown_file(repos): file.write(f"| Total Essentials N/A | {total_release_na} |\n\n\n") # Write the table header - file.write("| Repository | Visibility | Release | Min Essentials |\n") - file.write("|-------------------------------------|------------|---------|----------------|\n") + file.write("| Repository | Visibility | Release | Build Output | Min Essentials |\n") + file.write("|-------------------------------------|------------|---------|--------------|----------------|\n") # Write the table rows - for repo in sorted(repos, key=lambda x: x.name): + for repo in sorted(repo_list, key=lambda x: x.name): if repo.name.startswith('epi-'): logging.debug(f"Processing repo: {repo.name}, Public: {not repo.private}") visibility = "Public" if not repo.private else "Internal" - releases = repo.get_releases() + + # Convert PaginatedList to list before accessing + releases = list(repo.get_releases()) + tags = list(repo.get_tags()) + current_release = "N/A" - for release in releases: - if not release.prerelease: - current_release = release.tag_name - break + latest_build_tag = "N/A" + + # Get the latest release + if releases: + for release in releases: + if not release.prerelease: + current_release = release.tag_name + break + + # Get the latest build tag + if tags: + latest_build_tag = tags[0].name # Get the most recent tag min_essentials_version = extract_min_essentials_version(repo) - file.write(f"| [{repo.name}]({repo.html_url}) | {visibility} | {current_release} | {min_essentials_version} |\n") + file.write(f"| [{repo.name}]({repo.html_url}) | {visibility} | {current_release} | {latest_build_tag} | {min_essentials_version} |\n") + def main(): logging.debug("Starting script.") @@ -114,11 +148,21 @@ def main(): try: org = g.get_organization(org_name) - repos = list(org.get_repos(type='all')) # Fetch all types of repositories - logging.debug(f"Number of repos before filtering: {len(repos)}") - generate_markdown_file(repos) + repos = org.get_repos(type='all') + logging.debug(f"Repos object type: {type(repos)}") + + # Explicitly iterate over the PaginatedList to collect repositories + repo_list = [] + for repo in repos: + logging.debug(f"Fetched repo: {repo.name}") + repo_list.append(repo) + logging.debug(f"Number of repos after iteration: {len(repo_list)}") + + # Process the repositories after the list is fully populated + process_repositories(repo_list) except Exception as e: logging.error(f"Error accessing organization or repositories: {e}") + if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/.github/workflows/gather-plugin-urls.yml b/.github/workflows/gather-plugin-urls.yml index 58c4389..1fd591a 100644 --- a/.github/workflows/gather-plugin-urls.yml +++ b/.github/workflows/gather-plugin-urls.yml @@ -13,7 +13,6 @@ on: jobs: gather-repo-urls: - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/feature/add-total-counts' runs-on: ubuntu-latest steps: - name: Log branch and event type diff --git a/README.md b/README.md index a7c57ea..737124f 100644 --- a/README.md +++ b/README.md @@ -8,111 +8,111 @@ | Total Essentials N/A | 36 | -| Repository | Visibility | Release | Min Essentials | -|-------------------------------------|------------|---------|----------------| -| [epi-1beyond-automate-vx](https://github.com/PepperDash/epi-1beyond-automate-vx) | Public | v1.0.0 | 1.16.1 | -| [epi-acuity-fresco](https://github.com/PepperDash/epi-acuity-fresco) | Public | 1.0.0 | 1.9.7 | -| [epi-analogWay-aquilon](https://github.com/PepperDash/epi-analogWay-aquilon) | Internal | 1.0.1 | N/A | -| [epi-apc-pdu](https://github.com/PepperDash/epi-apc-pdu) | Public | 1.2.4 | 1.15.0 | -| [epi-atlona-ome](https://github.com/PepperDash/epi-atlona-ome) | Public | 1.1.3 | 1.13.4 | -| [epi-avocor-display](https://github.com/PepperDash/epi-avocor-display) | Internal | 1.0.0 | 1.9.5 | -| [epi-avr-marantz](https://github.com/PepperDash/epi-avr-marantz) | Public | v1.0.1 | 2.1.0 | -| [epi-axis-camera](https://github.com/PepperDash/epi-axis-camera) | Public | N/A | N/A | -| [epi-barco-crp](https://github.com/PepperDash/epi-barco-crp) | Public | N/A | 1.10.0 | -| [epi-barco-event-master](https://github.com/PepperDash/epi-barco-event-master) | Internal | 1.0.0 | 1.9.7 | -| [epi-barco-g60](https://github.com/PepperDash/epi-barco-g60) | Public | 1.0.2 | 1.10.3 | -| [epi-biamp-tesira](https://github.com/PepperDash/epi-biamp-tesira) | Public | 2.5.1 | 1.8.1 | -| [epi-blackmagic-videohub](https://github.com/PepperDash/epi-blackmagic-videohub) | Internal | N/A | 1.6.4 | -| [epi-bss-soundweb](https://github.com/PepperDash/epi-bss-soundweb) | Internal | N/A | N/A | -| [epi-camera-visca](https://github.com/PepperDash/epi-camera-visca) | Public | N/A | 1.7.5 | -| [epi-christie-projector](https://github.com/PepperDash/epi-christie-projector) | Public | N/A | 1.10.3 | -| [epi-cisco-cli](https://github.com/PepperDash/epi-cisco-cli) | Internal | v1.4.1 | 2.0.0 | -| [epi-cisco-navigator-room](https://github.com/PepperDash/epi-cisco-navigator-room) | Internal | v1.1.0 | N/A | -| [epi-clearone-converge-pro](https://github.com/PepperDash/epi-clearone-converge-pro) | Public | 1.1.0 | 1.8.4 | -| [epi-clearone-convergepro2](https://github.com/PepperDash/epi-clearone-convergepro2) | Public | 1.1.0 | 1.13.4 | -| [epi-contemporaryresearch-tuner](https://github.com/PepperDash/epi-contemporaryresearch-tuner) | Public | 1.0.2 | 1.7.6 | -| [epi-crestron-amp8xxx](https://github.com/PepperDash/epi-crestron-amp8xxx) | Public | 1.0.5 | 1.7.5 | -| [epi-crestron-deviceinfo](https://github.com/PepperDash/epi-crestron-deviceinfo) | Internal | 1.1.0 | 1.13.4 | -| [epi-crestron-dm](https://github.com/PepperDash/epi-crestron-dm) | Public | N/A | 1.6.4 | -| [epi-crestron-dmmd6xN](https://github.com/PepperDash/epi-crestron-dmmd6xN) | Public | 1.0.2 | N/A | -| [epi-crestron-fusion](https://github.com/PepperDash/epi-crestron-fusion) | Public | 1.0.3 | 1.5.5 | -| [epi-crestron-hdwp4k401c](https://github.com/PepperDash/epi-crestron-hdwp4k401c) | Public | 1.0.1 | N/A | -| [epi-crestron-io](https://github.com/PepperDash/epi-crestron-io) | Internal | v1.1.0 | 2.0.0 | -| [epi-crestron-iptable_editor](https://github.com/PepperDash/epi-crestron-iptable_editor) | Public | 1.1.2 | 1.6.7 | -| [epi-crestron-nvx](https://github.com/PepperDash/epi-crestron-nvx) | Public | v3.3.0 | N/A | -| [epi-crestron-touchpanels](https://github.com/PepperDash/epi-crestron-touchpanels) | Internal | N/A | 1.7.5 | -| [epi-denton-cor-tap](https://github.com/PepperDash/epi-denton-cor-tap) | Public | 0.2.2 | 1.9.0 | -| [epi-dsp-shure](https://github.com/PepperDash/epi-dsp-shure) | Internal | N/A | 1.6.4 | -| [epi-encelium-x](https://github.com/PepperDash/epi-encelium-x) | Internal | 1.0.1 | 1.10.4 | -| [epi-epiphan-pearl](https://github.com/PepperDash/epi-epiphan-pearl) | Public | 1.0.0 | 1.12.8 | -| [epi-epson-projector](https://github.com/PepperDash/epi-epson-projector) | Public | 2.0.5 | 1.8.1 | -| [epi-epson-projectors-4series](https://github.com/PepperDash/epi-epson-projectors-4series) | Internal | v1.0.0 | 2.0.0 | -| [epi-esi-mediaserver](https://github.com/PepperDash/epi-esi-mediaserver) | Internal | N/A | 1.15.5 | -| [epi-essentials-mobile-control](https://github.com/PepperDash/epi-essentials-mobile-control) | Public | v4.5.2 | 1.12.5 | -| [epi-essentials-rooms](https://github.com/PepperDash/epi-essentials-rooms) | Public | N/A | 1.6.4 | -| [epi-evertz-mmaEndpoints](https://github.com/PepperDash/epi-evertz-mmaEndpoints) | Internal | 1.0.0 | 1.15.2 | -| [epi-evertz-nucleus](https://github.com/PepperDash/epi-evertz-nucleus) | Internal | 1.0.8 | 1.9.5 | -| [epi-exterity-stb](https://github.com/PepperDash/epi-exterity-stb) | Internal | N/A | 1.6.4 | -| [epi-extron-dmp](https://github.com/PepperDash/epi-extron-dmp) | Internal | N/A | 1.8.4 | -| [epi-extron-quantum](https://github.com/PepperDash/epi-extron-quantum) | Public | v1.0.1 | 1.13.3 | -| [epi-generic-cec-display](https://github.com/PepperDash/epi-generic-cec-display) | Public | 0.0.2 | 1.6.7 | -| [epi-jbl-soundBar](https://github.com/PepperDash/epi-jbl-soundBar) | Internal | N/A | 2.0.0 | -| [epi-lg-display](https://github.com/PepperDash/epi-lg-display) | Public | 1.0.4 | 1.8.0 | -| [epi-lutron-grx](https://github.com/PepperDash/epi-lutron-grx) | Internal | 1.0.0 | 1.6.1 | -| [epi-lutron-quantum](https://github.com/PepperDash/epi-lutron-quantum) | Public | 1.0.3 | N/A | -| [epi-magewell-proconvert](https://github.com/PepperDash/epi-magewell-proconvert) | Internal | N/A | 1.15.3 | -| [epi-matrox-monarch](https://github.com/PepperDash/epi-matrox-monarch) | Internal | 1.0.8 | 1.7.4 | -| [epi-megapixel-helios](https://github.com/PepperDash/epi-megapixel-helios) | Public | 1.4.0 | 1.16.0 | -| [epi-mersive-solstice](https://github.com/PepperDash/epi-mersive-solstice) | Public | 1.1.0 | 1.8.0 | -| [epi-mst-consoleCommands](https://github.com/PepperDash/epi-mst-consoleCommands) | Internal | N/A | 1.6.4 | -| [epi-multi-display-room](https://github.com/PepperDash/epi-multi-display-room) | Internal | N/A | 1.6.4 | -| [epi-nanolumens-hSeries](https://github.com/PepperDash/epi-nanolumens-hSeries) | Internal | v1.0.0 | 2.0.0 | -| [epi-nec-common-ascii](https://github.com/PepperDash/epi-nec-common-ascii) | Public | 1.0.2 | 1.6.5 | -| [epi-nec-display](https://github.com/PepperDash/epi-nec-display) | Internal | 1.0.1 | N/A | -| [epi-netgear-cli](https://github.com/PepperDash/epi-netgear-cli) | Public | v1.3.1 | 2.0.0 | -| [epi-newtek-spark](https://github.com/PepperDash/epi-newtek-spark) | Internal | N/A | 1.6.4 | -| [epi-panasonic-camera-http](https://github.com/PepperDash/epi-panasonic-camera-http) | Public | 1.2.0 | 1.8.5 | -| [epi-panasonic-camera-serial](https://github.com/PepperDash/epi-panasonic-camera-serial) | Internal | N/A | N/A | -| [epi-panasonic-projector](https://github.com/PepperDash/epi-panasonic-projector) | Public | 1.1.0 | 1.7.5 | -| [epi-panopto-cloud](https://github.com/PepperDash/epi-panopto-cloud) | Public | N/A | 1.12.8 | -| [epi-pjlink](https://github.com/PepperDash/epi-pjlink) | Public | N/A | 1.8.1 | -| [epi-planar-clarity](https://github.com/PepperDash/epi-planar-clarity) | Internal | 1.0.0 | 1.11.1 | -| [epi-planar-qe-dispaly](https://github.com/PepperDash/epi-planar-qe-dispaly) | Public | 1.0.0 | 1.11.1 | -| [epi-poly-room](https://github.com/PepperDash/epi-poly-room) | Internal | N/A | 1.11.0 | -| [epi-primeview-display](https://github.com/PepperDash/epi-primeview-display) | Internal | N/A | N/A | -| [epi-purelinkav-swicther](https://github.com/PepperDash/epi-purelinkav-swicther) | Public | 1.1.1 | 1.5.5 | -| [epi-qsc-qsysdsp](https://github.com/PepperDash/epi-qsc-qsysdsp) | Public | v3.0.0 | 2.0.0 | -| [epi-roku-mediaplayer](https://github.com/PepperDash/epi-roku-mediaplayer) | Internal | N/A | 1.5.5 | -| [epi-samsung-mdc-display](https://github.com/PepperDash/epi-samsung-mdc-display) | Public | v1.4.0 | 1.16.1 | -| [epi-seimens-enlighted](https://github.com/PepperDash/epi-seimens-enlighted) | Internal | 1.0.4 | 1.9.7 | -| [epi-sharp-display](https://github.com/PepperDash/epi-sharp-display) | Public | 1.0.2 | 1.9.1 | -| [epi-shure-mxa](https://github.com/PepperDash/epi-shure-mxa) | Internal | 1.0.2 | 1.7.5 | -| [epi-shure-mxw](https://github.com/PepperDash/epi-shure-mxw) | Public | 2.1.1 | 1.6.6 | -| [epi-shure-ulxd](https://github.com/PepperDash/epi-shure-ulxd) | Public | 2.0.0 | 1.12.0 | -| [epi-snapone-wattbox](https://github.com/PepperDash/epi-snapone-wattbox) | Public | 2.3.4 | 1.12.2 | -| [epi-sony-bravia](https://github.com/PepperDash/epi-sony-bravia) | Public | v2.3.0 | 1.8.5 | -| [epi-sony-projector](https://github.com/PepperDash/epi-sony-projector) | Internal | N/A | 1.6.4 | -| [epi-switcher-digitalmedia](https://github.com/PepperDash/epi-switcher-digitalmedia) | Internal | N/A | 1.6.4 | -| [epi-symetrix-dsp](https://github.com/PepperDash/epi-symetrix-dsp) | Public | N/A | N/A | -| [epi-test-plugin](https://github.com/PepperDash/epi-test-plugin) | Internal | N/A | 1.6.4 | -| [epi-test-plugin2](https://github.com/PepperDash/epi-test-plugin2) | Internal | N/A | 1.6.4 | -| [epi-tripleplay-server](https://github.com/PepperDash/epi-tripleplay-server) | Public | 1.0.4 | 1.9.1 | -| [epi-tripplite-padm](https://github.com/PepperDash/epi-tripplite-padm) | Internal | N/A | N/A | -| [epi-uintled-colorlightZ6](https://github.com/PepperDash/epi-uintled-colorlightZ6) | Public | 1.0.0 | 1.5.5 | -| [epi-utilities-customvalues](https://github.com/PepperDash/epi-utilities-customvalues) | Public | 1.0.0 | 1.10.0 | -| [epi-utilities-deviceInfo](https://github.com/PepperDash/epi-utilities-deviceInfo) | Public | 0.0.1 | 1.6.4 | -| [epi-utilities-devicemonitor](https://github.com/PepperDash/epi-utilities-devicemonitor) | Internal | 1.2.3 | 1.8.4 | -| [epi-utilities-i18n](https://github.com/PepperDash/epi-utilities-i18n) | Public | 1.0.5 | 1.6.4 | -| [epi-utilities-idigitalinputaction](https://github.com/PepperDash/epi-utilities-idigitalinputaction) | Internal | 1.0.0 | 1.9.1 | -| [epi-utilities-routeCycle](https://github.com/PepperDash/epi-utilities-routeCycle) | Internal | 1.0.0 | 1.15.2 | -| [epi-utilities-sendemail](https://github.com/PepperDash/epi-utilities-sendemail) | Internal | N/A | 1.10.1 | -| [epi-utilities-timer](https://github.com/PepperDash/epi-utilities-timer) | Public | 1.2.1 | 1.16.0 | -| [epi-utilities-timer-scheduled](https://github.com/PepperDash/epi-utilities-timer-scheduled) | Internal | 1.0.4 | 1.9.0 | -| [epi-utility-tcpproxy](https://github.com/PepperDash/epi-utility-tcpproxy) | Public | N/A | 1.6.4 | -| [epi-vaddio-camera](https://github.com/PepperDash/epi-vaddio-camera) | Internal | 1.1.0 | 1.10.3 | -| [epi-videoCodec-ciscoExtended](https://github.com/PepperDash/epi-videoCodec-ciscoExtended) | Public | 1.5.1 | 1.15.2 | -| [epi-vytio-iptv](https://github.com/PepperDash/epi-vytio-iptv) | Internal | N/A | 1.5.5 | -| [epi-yamaha-YXC](https://github.com/PepperDash/epi-yamaha-YXC) | Internal | N/A | 1.10.2 | -| [epi-yamaha-cs700](https://github.com/PepperDash/epi-yamaha-cs700) | Internal | N/A | N/A | -| [epi-yamaha-mixer](https://github.com/PepperDash/epi-yamaha-mixer) | Internal | 1.0.0 | 1.6.2 | -| [epi-zoom-room](https://github.com/PepperDash/epi-zoom-room) | Public | N/A | 1.6.4 | +| Repository | Visibility | Release | Build Output | Min Essentials | +|-------------------------------------|------------|---------|--------------|----------------| +| [epi-1beyond-automate-vx](https://github.com/PepperDash/epi-1beyond-automate-vx) | Public | v1.0.0 | v1.0.1-4series-csproj-updates.1 | 1.16.1 | +| [epi-acuity-fresco](https://github.com/PepperDash/epi-acuity-fresco) | Public | 1.0.0 | 1.0.0 | 1.9.7 | +| [epi-analogWay-aquilon](https://github.com/PepperDash/epi-analogWay-aquilon) | Internal | 1.0.1 | v1.1.0-feature-add-messenger.2 | N/A | +| [epi-apc-pdu](https://github.com/PepperDash/epi-apc-pdu) | Public | 1.2.4 | v2.0.0-use-ssh-net-4-series.1 | 1.15.0 | +| [epi-atlona-ome](https://github.com/PepperDash/epi-atlona-ome) | Public | 1.1.3 | 1.1.3 | 1.13.4 | +| [epi-avocor-display](https://github.com/PepperDash/epi-avocor-display) | Internal | 1.0.0 | 1.0.0 | 1.9.5 | +| [epi-avr-marantz](https://github.com/PepperDash/epi-avr-marantz) | Public | v1.0.1 | v1.0.1 | 2.1.0 | +| [epi-axis-camera](https://github.com/PepperDash/epi-axis-camera) | Public | N/A | 1.0.0-rc-5 | N/A | +| [epi-barco-crp](https://github.com/PepperDash/epi-barco-crp) | Public | N/A | 0.0.1-beta-6 | 1.10.0 | +| [epi-barco-event-master](https://github.com/PepperDash/epi-barco-event-master) | Internal | 1.0.0 | v1.1.0-feature-replace-http.5 | 1.9.7 | +| [epi-barco-g60](https://github.com/PepperDash/epi-barco-g60) | Public | 1.0.2 | 1.0.2 | 1.10.3 | +| [epi-biamp-tesira](https://github.com/PepperDash/epi-biamp-tesira) | Public | 2.5.1 | v2.6.0-feature-4-series.4 | 1.8.1 | +| [epi-blackmagic-videohub](https://github.com/PepperDash/epi-blackmagic-videohub) | Internal | N/A | 0.0.1-hotfix-3 | 1.6.4 | +| [epi-bss-soundweb](https://github.com/PepperDash/epi-bss-soundweb) | Internal | N/A | 0.0.1-beta-5 | N/A | +| [epi-camera-visca](https://github.com/PepperDash/epi-camera-visca) | Public | N/A | 0.0.0-buildtype-buildnumber | 1.7.5 | +| [epi-christie-projector](https://github.com/PepperDash/epi-christie-projector) | Public | N/A | 0.0.1-alpha-2 | 1.10.3 | +| [epi-cisco-cli](https://github.com/PepperDash/epi-cisco-cli) | Internal | v1.4.1 | v1.5.0-net8.1 | 2.0.0 | +| [epi-cisco-navigator-room](https://github.com/PepperDash/epi-cisco-navigator-room) | Internal | v1.1.0 | v1.2.0-warmup-cooldown-issues.4 | N/A | +| [epi-clearone-converge-pro](https://github.com/PepperDash/epi-clearone-converge-pro) | Public | 1.1.0 | 1.1.0 | 1.8.4 | +| [epi-clearone-convergepro2](https://github.com/PepperDash/epi-clearone-convergepro2) | Public | 1.1.0 | 1.1.0 | 1.13.4 | +| [epi-contemporaryresearch-tuner](https://github.com/PepperDash/epi-contemporaryresearch-tuner) | Public | 1.0.2 | v1.1.0-feature-devicePresetsModel.3 | 1.7.6 | +| [epi-crestron-amp8xxx](https://github.com/PepperDash/epi-crestron-amp8xxx) | Public | 1.0.5 | 1.0.5 | 1.7.5 | +| [epi-crestron-deviceinfo](https://github.com/PepperDash/epi-crestron-deviceinfo) | Internal | 1.1.0 | 1.1.1-alpha-5 | 1.13.4 | +| [epi-crestron-dm](https://github.com/PepperDash/epi-crestron-dm) | Public | N/A | 0.0.1-beta-2 | 1.6.4 | +| [epi-crestron-dmmd6xN](https://github.com/PepperDash/epi-crestron-dmmd6xN) | Public | 1.0.2 | 1.0.2 | N/A | +| [epi-crestron-fusion](https://github.com/PepperDash/epi-crestron-fusion) | Public | 1.0.3 | v1.1.0-feature-4-series.2 | 1.5.5 | +| [epi-crestron-hdwp4k401c](https://github.com/PepperDash/epi-crestron-hdwp4k401c) | Public | 1.0.1 | 1.0.2-beta-1 | N/A | +| [epi-crestron-io](https://github.com/PepperDash/epi-crestron-io) | Internal | v1.1.0 | v2.0.0-release.2 | 2.0.0 | +| [epi-crestron-iptable_editor](https://github.com/PepperDash/epi-crestron-iptable_editor) | Public | 1.1.2 | 1.1.2 | 1.6.7 | +| [epi-crestron-nvx](https://github.com/PepperDash/epi-crestron-nvx) | Public | v3.3.0 | v3.3.1-essentials-mc-updates.2 | N/A | +| [epi-crestron-touchpanels](https://github.com/PepperDash/epi-crestron-touchpanels) | Internal | N/A | N/A | 1.7.5 | +| [epi-denton-cor-tap](https://github.com/PepperDash/epi-denton-cor-tap) | Public | 0.2.2 | 0.2.2 | 1.9.0 | +| [epi-dsp-shure](https://github.com/PepperDash/epi-dsp-shure) | Internal | N/A | v1.0.0-feat-4-series-only-plugin.3 | 1.6.4 | +| [epi-encelium-x](https://github.com/PepperDash/epi-encelium-x) | Internal | 1.0.1 | 1.0.2-hotfix-20 | 1.10.4 | +| [epi-epiphan-pearl](https://github.com/PepperDash/epi-epiphan-pearl) | Public | 1.0.0 | 1.0.1-hotfix-5 | 1.12.8 | +| [epi-epson-projector](https://github.com/PepperDash/epi-epson-projector) | Public | 2.0.5 | v1.0.3 | 1.8.1 | +| [epi-epson-projectors-4series](https://github.com/PepperDash/epi-epson-projectors-4series) | Internal | v1.0.0 | v1.0.0 | 2.0.0 | +| [epi-esi-mediaserver](https://github.com/PepperDash/epi-esi-mediaserver) | Internal | N/A | v0.1.0-feature-4-series.2 | 1.15.5 | +| [epi-essentials-mobile-control](https://github.com/PepperDash/epi-essentials-mobile-control) | Public | v4.5.2 | v4.5.3-fix-ISelectableItemsMessenger-statusresponse.2 | 1.12.5 | +| [epi-essentials-rooms](https://github.com/PepperDash/epi-essentials-rooms) | Public | N/A | 0.1.0-rc-2 | 1.6.4 | +| [epi-evertz-mmaEndpoints](https://github.com/PepperDash/epi-evertz-mmaEndpoints) | Internal | 1.0.0 | 1.0.1-hotfix-11 | 1.15.2 | +| [epi-evertz-nucleus](https://github.com/PepperDash/epi-evertz-nucleus) | Internal | 1.0.8 | 1.0.9-hotfix-55 | 1.9.5 | +| [epi-exterity-stb](https://github.com/PepperDash/epi-exterity-stb) | Internal | N/A | 0.0.1-alpha-11 | 1.6.4 | +| [epi-extron-dmp](https://github.com/PepperDash/epi-extron-dmp) | Internal | N/A | 0.0.1-alpha-25 | 1.8.4 | +| [epi-extron-quantum](https://github.com/PepperDash/epi-extron-quantum) | Public | v1.0.1 | v1.0.2-hotfixUpdateOnlineOnResponseReceived.1 | 1.13.3 | +| [epi-generic-cec-display](https://github.com/PepperDash/epi-generic-cec-display) | Public | 0.0.2 | v1.0.0-feature-4series-build-updates.12 | 1.6.7 | +| [epi-jbl-soundBar](https://github.com/PepperDash/epi-jbl-soundBar) | Internal | N/A | v0.10.0-feature-fix-workflows.11 | 2.0.0 | +| [epi-lg-display](https://github.com/PepperDash/epi-lg-display) | Public | 1.0.4 | v1.1.0-feature-4-series.8 | 1.8.0 | +| [epi-lutron-grx](https://github.com/PepperDash/epi-lutron-grx) | Internal | 1.0.0 | 1.0.1-beta-7 | 1.6.1 | +| [epi-lutron-quantum](https://github.com/PepperDash/epi-lutron-quantum) | Public | 1.0.3 | v1.0.1 | N/A | +| [epi-magewell-proconvert](https://github.com/PepperDash/epi-magewell-proconvert) | Internal | N/A | 0.0.1-alpha-1 | 1.15.3 | +| [epi-matrox-monarch](https://github.com/PepperDash/epi-matrox-monarch) | Internal | 1.0.8 | vempty_string_triggers_config_update | 1.7.4 | +| [epi-megapixel-helios](https://github.com/PepperDash/epi-megapixel-helios) | Public | 1.4.0 | 1.4.0 | 1.16.0 | +| [epi-mersive-solstice](https://github.com/PepperDash/epi-mersive-solstice) | Public | 1.1.0 | 1.1.1-beta-11 | 1.8.0 | +| [epi-mst-consoleCommands](https://github.com/PepperDash/epi-mst-consoleCommands) | Internal | N/A | N/A | 1.6.4 | +| [epi-multi-display-room](https://github.com/PepperDash/epi-multi-display-room) | Internal | N/A | N/A | 1.6.4 | +| [epi-nanolumens-hSeries](https://github.com/PepperDash/epi-nanolumens-hSeries) | Internal | v1.0.0 | v1.0.0 | 2.0.0 | +| [epi-nec-common-ascii](https://github.com/PepperDash/epi-nec-common-ascii) | Public | 1.0.2 | 1.0.3-hotfix-7 | 1.6.5 | +| [epi-nec-display](https://github.com/PepperDash/epi-nec-display) | Internal | 1.0.1 | v1.1.0-feature-4-series.12 | N/A | +| [epi-netgear-cli](https://github.com/PepperDash/epi-netgear-cli) | Public | v1.3.1 | v1.3.2-change-connection.1 | 2.0.0 | +| [epi-newtek-spark](https://github.com/PepperDash/epi-newtek-spark) | Internal | N/A | 0.0.1-alpha-3 | 1.6.4 | +| [epi-panasonic-camera-http](https://github.com/PepperDash/epi-panasonic-camera-http) | Public | 1.2.0 | vremove-master | 1.8.5 | +| [epi-panasonic-camera-serial](https://github.com/PepperDash/epi-panasonic-camera-serial) | Internal | N/A | 0.0.1-beta-8 | N/A | +| [epi-panasonic-projector](https://github.com/PepperDash/epi-panasonic-projector) | Public | 1.1.0 | v1.2.0-feature-4series-and-actions-udpates.9 | 1.7.5 | +| [epi-panopto-cloud](https://github.com/PepperDash/epi-panopto-cloud) | Public | N/A | v1.1 | 1.12.8 | +| [epi-pjlink](https://github.com/PepperDash/epi-pjlink) | Public | N/A | N/A | 1.8.1 | +| [epi-planar-clarity](https://github.com/PepperDash/epi-planar-clarity) | Internal | 1.0.0 | v00.02 | 1.11.1 | +| [epi-planar-qe-dispaly](https://github.com/PepperDash/epi-planar-qe-dispaly) | Public | 1.0.0 | v1.1.0-feature-4-series.1 | 1.11.1 | +| [epi-poly-room](https://github.com/PepperDash/epi-poly-room) | Internal | N/A | 1.0.0-beta.1 | 1.11.0 | +| [epi-primeview-display](https://github.com/PepperDash/epi-primeview-display) | Internal | N/A | v1.0.0-feature-4series.2 | N/A | +| [epi-purelinkav-swicther](https://github.com/PepperDash/epi-purelinkav-swicther) | Public | 1.1.1 | 1.1.1 | 1.5.5 | +| [epi-qsc-qsysdsp](https://github.com/PepperDash/epi-qsc-qsysdsp) | Public | v3.0.0 | v3.1.0-essentials-mc-updates.1 | 2.0.0 | +| [epi-roku-mediaplayer](https://github.com/PepperDash/epi-roku-mediaplayer) | Internal | N/A | 0.0.1-alpha-1 | 1.5.5 | +| [epi-samsung-mdc-display](https://github.com/PepperDash/epi-samsung-mdc-display) | Public | v1.4.0 | v1.4.0 | 1.16.1 | +| [epi-seimens-enlighted](https://github.com/PepperDash/epi-seimens-enlighted) | Internal | 1.0.4 | 1.0.5-beta-9 | 1.9.7 | +| [epi-sharp-display](https://github.com/PepperDash/epi-sharp-display) | Public | 1.0.2 | 1.0.3-beta-25 | 1.9.1 | +| [epi-shure-mxa](https://github.com/PepperDash/epi-shure-mxa) | Internal | 1.0.2 | 1.0.2 | 1.7.5 | +| [epi-shure-mxw](https://github.com/PepperDash/epi-shure-mxw) | Public | 2.1.1 | 2.1.1 | 1.6.6 | +| [epi-shure-ulxd](https://github.com/PepperDash/epi-shure-ulxd) | Public | 2.0.0 | 2.0.0 | 1.12.0 | +| [epi-snapone-wattbox](https://github.com/PepperDash/epi-snapone-wattbox) | Public | 2.3.4 | 2.3.4 | 1.12.2 | +| [epi-sony-bravia](https://github.com/PepperDash/epi-sony-bravia) | Public | v2.3.0 | v2.4.0-hotfix-picture-mode-feature.2 | 1.8.5 | +| [epi-sony-projector](https://github.com/PepperDash/epi-sony-projector) | Internal | N/A | 0.0.1-alpha-7 | 1.6.4 | +| [epi-switcher-digitalmedia](https://github.com/PepperDash/epi-switcher-digitalmedia) | Internal | N/A | N/A | 1.6.4 | +| [epi-symetrix-dsp](https://github.com/PepperDash/epi-symetrix-dsp) | Public | N/A | 1.0.0-rc-7 | N/A | +| [epi-test-plugin](https://github.com/PepperDash/epi-test-plugin) | Internal | N/A | N/A | 1.6.4 | +| [epi-test-plugin2](https://github.com/PepperDash/epi-test-plugin2) | Internal | N/A | v1.0.0 | 1.6.4 | +| [epi-tripleplay-server](https://github.com/PepperDash/epi-tripleplay-server) | Public | 1.0.4 | 1.0.5-beta-2 | 1.9.1 | +| [epi-tripplite-padm](https://github.com/PepperDash/epi-tripplite-padm) | Internal | N/A | 0.0.1-alpha-9 | N/A | +| [epi-uintled-colorlightZ6](https://github.com/PepperDash/epi-uintled-colorlightZ6) | Public | 1.0.0 | v0.0.1-alpha-95 | 1.5.5 | +| [epi-utilities-customvalues](https://github.com/PepperDash/epi-utilities-customvalues) | Public | 1.0.0 | 1.0.1-beta-15 | 1.10.0 | +| [epi-utilities-deviceInfo](https://github.com/PepperDash/epi-utilities-deviceInfo) | Public | 0.0.1 | 0.0.1 | 1.6.4 | +| [epi-utilities-devicemonitor](https://github.com/PepperDash/epi-utilities-devicemonitor) | Internal | 1.2.3 | 1.2.3 | 1.8.4 | +| [epi-utilities-i18n](https://github.com/PepperDash/epi-utilities-i18n) | Public | 1.0.5 | 1.0.5 | 1.6.4 | +| [epi-utilities-idigitalinputaction](https://github.com/PepperDash/epi-utilities-idigitalinputaction) | Internal | 1.0.0 | 1.0.0 | 1.9.1 | +| [epi-utilities-routeCycle](https://github.com/PepperDash/epi-utilities-routeCycle) | Internal | 1.0.0 | 1.0.0 | 1.15.2 | +| [epi-utilities-sendemail](https://github.com/PepperDash/epi-utilities-sendemail) | Internal | N/A | N/A | 1.10.1 | +| [epi-utilities-timer](https://github.com/PepperDash/epi-utilities-timer) | Public | 1.2.1 | v1.0.4 | 1.16.0 | +| [epi-utilities-timer-scheduled](https://github.com/PepperDash/epi-utilities-timer-scheduled) | Internal | 1.0.4 | 1.0.5-beta-3 | 1.9.0 | +| [epi-utility-tcpproxy](https://github.com/PepperDash/epi-utility-tcpproxy) | Public | N/A | N/A | 1.6.4 | +| [epi-vaddio-camera](https://github.com/PepperDash/epi-vaddio-camera) | Internal | 1.1.0 | 1.1.0 | 1.10.3 | +| [epi-videoCodec-ciscoExtended](https://github.com/PepperDash/epi-videoCodec-ciscoExtended) | Public | 1.5.1 | v1.6.0-iHasWebView.7 | 1.15.2 | +| [epi-vytio-iptv](https://github.com/PepperDash/epi-vytio-iptv) | Internal | N/A | v0.2.0-feature-add-4series.2 | 1.5.5 | +| [epi-yamaha-YXC](https://github.com/PepperDash/epi-yamaha-YXC) | Internal | N/A | 0.0.1-alpha-2 | 1.10.2 | +| [epi-yamaha-cs700](https://github.com/PepperDash/epi-yamaha-cs700) | Internal | N/A | N/A | N/A | +| [epi-yamaha-mixer](https://github.com/PepperDash/epi-yamaha-mixer) | Internal | 1.0.0 | 1.0.0 | 1.6.2 | +| [epi-zoom-room](https://github.com/PepperDash/epi-zoom-room) | Public | N/A | 0.1.0-rc-2 | 1.6.4 |