Releases: middlewarehq/middleware
0.2.0
What's Changed 🎉
Enhancements and Features 🚀
- Create Team CTA (#539) by @VipinDevelops
- System Logs (#528) by @VipinDevelops
- CTA Button to Star Github Repo (#532) by @Kamlesh72
- Add auto scroll effect in logs (#581) by @xyfer17
- Add team view button (#551) by @xyfer17
- Feature number-count animation for DORA-cards (#610) by @xyfer17
- Allow searching for fork repos in GitHub repo search (#618) by @adnanhashmi09
Fixes and Improvements 🛠️
- Handle error response from AI API (#548) by @VipinDevelops
- GitLab for self-hosted instances (#573) by @adnanhashmi09
- Calculation of tick values (#545) by @e-for-eshaan
- Response and commit to open fields position swapped in LT table (#586) by @sahitya-chandra
- Fixed linting local development (#606) by @mokshith-moksh
- System logs UI changes (#571) by @vishalmishraa
- Fixed issue #559 (#592) by @shamun-khatri
- Fix type of the response (#549) by @e-for-eshaan
- Skip repos that cannot be fetched from GitLab APIs (#576) by @adnanhashmi09
Infrastructure and Maintenance 🔧
- Update config.yml to make email optional (#565) by @dhruvagarwal
- Exclude api/stream from Next.js pre-rendering (#568) by @adnanhashmi09
- Create workflow to build oss-base Docker image and update to use Node 22 (#577) by @adnanhashmi09
- Fix workflow name for building oss-base Docker image (#578) by @adnanhashmi09
- Node, Yarn, and Docker version check added to dev.sh (#602) by @sahitya-chandra
- Bump npm and Yarn groups across directories (#584, #585, #611) by @dependabot
- Upgrade Axios from 0.28.0 to 0.28.1 (#591) by @dependabot
- Bump pycryptodome from 3.19.1 to 3.21.0 (#582) by @dependabot
- Upgrade Node to 22 and update dependencies (#554) by @thesujai
- Upgrade Next.js to 15.0.1 (#614) by @Reterics
- Change yarn install command to include frozen lockfile (#608) by @jayantbh
Refactoring and Code Improvements 🔨
- Refactor GitLab validity check to include custom domain support (#569) by @shivam-bit
- Add protocol to default domain (#575) by @adnanhashmi09
- Update README to reflect Node 22.x installation for web server setup (#588) by @adnanhashmi09
Cleanup 🧹
- Fixed linting errors for CI check (#604) by @mokshith-moksh
New Contributors 🌟
- @dhruvagarwal made their first contribution in #565
- @xyfer17 made their first contribution in #581
- @sahitya-chandra made their first contribution in #586
- @mokshith-moksh made their first contribution in #604
- @vishalmishraa made their first contribution in #571
- @shamun-khatri made their first contribution in #592
- @Reterics made their first contribution in #603
- @jayantbh made their first contribution in #608
All Contributors ⭐
- @VipinDevelops
- @Kamlesh72
- @xyfer17
- @adnanhashmi09
- @shivam-bit
- @thesujai
- @e-for-eshaan
- @sahitya-chandra
- @mokshith-moksh
- @vishalmishraa
- @shamun-khatri
- @Reterics
- @jayantbh
- @dependabot
Full Changelog: 0.1.5...0.2.0
0.1.5
What's Changed 🎉
Enhancements and Features 🚀
- AI Powered DORA Report (#493)
- Add BookmarkService - Core Utility Service (#504)
- Add GitLab integration functionality (#488)
- Default sync days setting (#501)
- Industry DORA scores enums (#498, #499)
Fixes and Improvements 🛠️
- Update Docker Version Checking Logic (#496)
- Fix: Team Repo Removed from list on backspace (#512)
- Fix DORA score calculation and update DoraScore component (#530)
- Handle Caps Lock in CLI input to ensure correct command processing (#526)
- Use full_path for org_name in org repos (#523)
Infrastructure and Maintenance 🔧
- Remove inspect image job from build workflow (#494)
- Update gh build workflow to add a new step for setting build date as env var (#497)
- Add pre-commit config and a new workflow to run the pre-commit hooks on any PR (#503)
- Download correct build of dbmate based on architecture (#527)
Refactoring and Code Improvements 🔨
- Update Bookmark usages for CodeETL, MTD Broker, Incident Service ETL, and Workflow ETL (#508, #509, #511, #513)
- Replace direct use of Repo code with Service code (#505)
- Add SettingsService in the constructor of classes using this service (#507)
- GitLab org_name migration (#517)
Documentation 📃
- Update readme to include command to expose backend ports in the prod setup (#522)
Cleanup 🧹
- Remove unused setting should_sync_alerts_as_incidents (#531)
New Contributors
- @nisalikularatne made their first contribution in #526
- @thesujai made their first contribution in #503
All Contributors ⭐
- @samad-yar-khan
- @e-for-eshaan
- @amoghjalan
- @shivam-bit
- @adnanhashmi09
- @jayantbh
- @sidtohan
- @ayush3160
- @aravindputrevu
- @KartikChawla09
- @Kamlesh72
- @gajrajgchouhan
- @JuanJoseLL
- @nathenharvey
- @VipinDevelops
- @shivamchhuneja
- @nisalikularatne
- @thesujai
Full Changelog: 0.1.4...0.1.5
0.1.4
What's Changed 🎉
Enhancements and Features 🚀
- Support for GitHub Actions as a deployment source (#450)
- GitLab integration APIs and repo sync ETL handler (#466, #468)
- Animated search component added (#459)
- New useBranchesForPrFilters hook in Incidents.tsx (#470)
Fixes and Improvements 🛠️
- Fixed code execution for newer Docker versions (#431)
- Updated image update status API polling interval to 600,000 milliseconds (#442)
- Fixed branch selector (#415)
- Fixed delete repo button in add teams section (#463)
- Refactored deployment_type in TeamsCRUDProvider and updated WorkflowSelector styles (#469)
- Fixed v2 API logic and redirect issue (#472)
- Fixed CLI log switching between different Log Sources (#476)
- Fixed MTD bookmark pushback to take minimum value (#490)
Infrastructure and Maintenance 🔧
- Added .gitattributes file for consistent line endings (#441)
- Updated workflow to spawn ARM runner on demand (#482)
- Added prerequisite check before running docker compose build and watch (#451)
- Removed latest_github_commit field from version.ts and resources.ts (#473)
- Removed GitHub API call from versions API (#474)
Documentation 📃
- Updated README with typo fixes, .env file setup information, and troubleshooting details (#446, #447, #477)
- Added Community Slack link (#491, #492)
Security 🔒
- Added password type to GitHub Personal Access Token input field (#479)
Dependency Updates 📦
- Bumped braces from 3.0.2 to 3.0.3 in /cli (#483, #486)
- Bumped ws from 8.16.0 to 8.18.0 in /cli (#484, #487)
New Contributors ⭐
- @sidtohan made their first contribution in #431
- @KartikChawla09 made their first contribution in #444
- @Kamlesh72 made their first contribution in #475
- @shivamchhuneja made their first contribution in #492
All Contributors ⭐
- @samad-yar-khan
- @e-for-eshaan
- @amoghjalan
- @shivam-bit
- @adnanhashmi09
- @jayantbh
- @sidtohan
- @ayush3160
- @aravindputrevu
- @KartikChawla09
- @Kamlesh72
- @gajrajgchouhan
- @JuanJoseLL
- @nathenharvey
- @VipinDevelops
- @shivamchhuneja
Full Changelog: 0.1.3...0.1.4
0.1.3
What's Changed 🎉
Enhancements and Features 🚀
- GraphQL API for User and Org Repositories: Introduced a new GraphQL API to fetch user and organization repositories, enhancing data retrieval capabilities (#360).
- New Docker Instructions: Added instructions in the README for creating Docker volumes to improve setup guidance (#355).
- Deployment Analytics Refactor: Refactored
deployment_analytics.ts
API endpoint andfetchTeamDeployments
thunk to streamline code and improve functionality (#410). - App Version Management: Added mechanisms to save app versions and check for new releases, ensuring users stay updated with the latest features and fixes (#401).
- CLI Version Checker: Introduced a CLI version checker to verify the current version and updates efficiently (#420).
- Automated Code Generation: Automated the code generation process for new configuration settings, reducing manual coding efforts (#433).
- Date Handling in UI: Refactored date handling in
WeeklyDeliveryVolumeCard
for better readability and accuracy (#412). - Configuration of Sync Days: Made default sync days configurable via environment variables, adding flexibility to synchronization settings (#400).
Fixes and Improvements 🛠️
- Image Loader and Pagination Fixes: Fixed the image loader for PAT-token and improved pagination for fetching organization repositories (#356).
- Sync Loader Enhancements: Improved sync loader animation and created a loading state card to provide better user feedback during data synchronization (#386).
- Sorting and Spacing Adjustments: Addressed sorting issues in the PR table and fixed spacing and alignment in the
TeamsList
component (#388, #363). - Loading State Updates: Enhanced loading states for various API searches and synchronization processes, providing a smoother user experience (#373, #384, #417).
- Repository Bookmarking: Ensured bookmarks are saved irrespective of repository data availability (#380).
- Deployment Frequency Calculation: Fixed the calculation of deployment frequency for more accurate metrics (#382).
- Link and API Endpoint Updates: Updated links for DORA metrics and fixed broken links to external MTTR resources, ensuring all references are current and accurate (#362, #391).
Infrastructure and Maintenance 🔧
- Docker Improvements: Implemented Docker Compose build before watch to sync local file changes, and mapped ports only to localhost to enhance security and efficiency (#435, #437).
- Log Management: Separated logs for the sync server to streamline log analysis and troubleshooting (#368).
- Code Refactoring and Tests: Refactored various components, including jest configuration and utility filters, to improve code maintainability and performance (#427, #409).
- Revert and Adjust Access Limits: Reverted the limitation of access for database and backend servers in the developer environment and adjusted port mappings and environment variable access (#436, #438).
Documentation 📃
- Readme Updates: Updated README with new links to DORA metrics, Docker instructions, and general improvements to keep documentation current and useful (#365, #394).
Dependency Updates 📦
- Dependency Management: Updated multiple dependencies to ensure the latest security patches and feature enhancements are applied (#419).
New Contributors ⭐
- @gajrajgchouhan made their first contribution in #367
- @nathenharvey made their first contribution in #394
- @ayush3160 made their first contribution in #411
- @VipinDevelops made their first contribution in #429
All Contributors 🤝
- @aravindputrevu
- @adnanhashmi09
- @e-for-eshaan
- @amoghjalan
- @shivam-bit
- @samad-yar-khan
- @gajrajgchouhan
- @nathenharvey
- @ayush3160
- @VipinDevelops
Full Changelog: 0.1.2...0.1.3
Middleware 0.1.2
What's Changed
- Run
yarn http
when in prod and runyarn dev
when running in dev mode by @adnanhashmi09 in #281 - "Update GitHub integration handling and token validation" by @shivam-bit in #278
- Add enter functionality on linking PAT by @e-for-eshaan in #284
- Add gitpod.yml by @samad-yar-khan in #286
- Remove verbose yarn install by @amoghjalan in #288
- Source keys if not found by @amoghjalan in #289
- Update readme so that user always takes pull from remote by @amoghjalan in #279
- Ensure container is down before starting CLI by @amoghjalan in #290
- Creates API /orgs/<org_id>/integrations/github/user/repos by @amoghjalan in #291
- Fix loader and team fetching issues by @e-for-eshaan in #282
- update workflow to build and push using digest by @adnanhashmi09 in #287
- automatic tag for main branch by @adnanhashmi09 in #292
- Run build workflow on push on main by @adnanhashmi09 in #293
- Refactor API endpoint to improve search functionality by @shivam-bit in #294
- logs for meta by @adnanhashmi09 in #295
- if branch is main tag is latest by @adnanhashmi09 in #296
- add tag as env and then use by @adnanhashmi09 in #297
- Update team API endpoint and remove unused code and dependencies by @shivam-bit in #298
- Repo-searching in creation/edit by @e-for-eshaan in #300
- Allow search on repo-name as well as org-name by @e-for-eshaan in #302
- fix docker tag for inspection step by @adnanhashmi09 in #304
- remove -t from dockertag in image inspection step by @adnanhashmi09 in #305
- The scripts should exit if directories are not found by @amoghjalan in #308
- Add setup utils for auto publishing docker image by @amoghjalan in #309
- Fix badge calculation by @e-for-eshaan in #306
- Add steps to generate encryption keys for manual setup by @amoghjalan in #264
- introduce volumes into the prod docker setup by @adnanhashmi09 in #310
- Update readme with data by @amoghjalan in #311
- "Add redirect with session to integrations and server-admin pages" by @shivam-bit in #312
- Remove useRedirectWithSession hook from integrations page by @shivam-bit in #314
- Refactor team selector setup and remove unused code by @shivam-bit in #315
- Update LogSource enum value for Redis by @shivam-bit in #313
- "Fix rendering of creation-cta and limit search results" by @e-for-eshaan in #317
- "Fix team-updation API breaking and improve team branch mapping logic" by @e-for-eshaan in #321
- Removes Beta from DORA metrics by @amoghjalan in #322
- Updates Developer volume names by @amoghjalan in #323
- Fix broken links by @samad-yar-khan in #324
- Remove syncReposForOrg call from promise.all by @shivam-bit in #325
- Refactor useRedirectWithSession hook and remove unused Server Admin menu item by @shivam-bit in #326
- "Fix UI issues and add click functionality to Dora cards" by @e-for-eshaan in #328
- Refactor useRedirectWithSession hook to handle default route correctly by @shivam-bit in #327
- Fix lead-time to CFR data inconsistency by @e-for-eshaan in #330
- Update README.md by @aravindputrevu in #316
- fix 'cannot take exclusive lock for project' error by @adnanhashmi09 in #332
- Adds ability to sync personal repos by @amoghjalan in #336
- Add tooltip for long repository names in CreateTeams component by @shivam-bit in #333
- "Refactor getRepos function to use GitHub API for fetching repositories" by @shivam-bit in #339
- Update README.md: How we calculate DORA by @samad-yar-khan in #341
- Update README.md by @samad-yar-khan in #344
- Updated DORA Gif by @aravindputrevu in #345
New Contributors
- @aravindputrevu made their first contribution in #316
Full Changelog: 0.1.1...0.1.2
0.1.1
Major Breaking Bug fixes
What's Changed
- Add emojis, make readme more attractive by @samad-yar-khan in #195
- Add PR template by @samad-yar-khan in #202
- Update Middleware logo by @amoghjalan in #203
- checkout the code of the branch where the workflow is triggered by @adnanhashmi09 in #204
- Add unit tests for mean time to recovery APIs by @samad-yar-khan in #209
- add commands for viewing frontend, backend postgres and redis logs by @adnanhashmi09 in #210
- build only arm images since it is only failing by @adnanhashmi09 in #206
- move generation of secret keys to runtime by @adnanhashmi09 in #211
- Remove columns
TeamRepos.prod_branch
andTeamIncidentService.id
from db and related code logic by @adnanhashmi09 in #212 - update TeamIncidentService model to include composite p_key by @adnanhashmi09 in #213
- Fix readme for local env by @amoghjalan in #216
- Remove id usage in TeamIncidentService init by @samad-yar-khan in #219
- Change name of log directory and file from
webserver
toweb-server
for consistency by @adnanhashmi09 in #218 - Fix null acesssing of state_changed_at by @samad-yar-khan in #221
- workflow for running pytests for pullrequets and pushes made to main branch by @adnanhashmi09 in #222
- Add link to generate token by @samad-yar-khan in #223
- Added redis in docker-compose for manual setup and made port changes in readme by @adnanhashmi09 in #225
- Update docker files for env vars by @samad-yar-khan in #227
- Fixes incorrect redirect on teams-page by @e-for-eshaan in #228
- Update README.md to fix links in table of contents by @samad-yar-khan in #226
- Update README.md - manual setup by @samad-yar-khan in #229
- make ports of services be configurable using env variables by @adnanhashmi09 in #230
- include all env variables inside env.example by @adnanhashmi09 in #231
- fixes error-prone API calls by @e-for-eshaan in #232
- Update CI workflows to run pytests and black only for changes in the backend directory #224 by @JuanJoseLL in #233
- Fix/api-calls by @e-for-eshaan in #234
- hides side-bar items when github not integrated by @e-for-eshaan in #235
- load env from parent directory by @adnanhashmi09 in #236
- Fixed infinite logs issue in cli by @shivam-bit in #237
- updated deployments-prs api by @e-for-eshaan in #240
- Deployment frequency analytics by @e-for-eshaan in #241
- Remove lead_time table key from OSS by @amoghjalan in #243
- Fix Lead time logic by @amoghjalan in #244
- Add incident url to Incident model by @amoghjalan in #245
- fix for cli web-server logs by @samad-yar-khan in #249
- Fix/teams reloading by @e-for-eshaan in #247
- Fixes reloading of team selector by @e-for-eshaan in #250
- Update README.md - Web Sever manual setup by @samad-yar-khan in #251
- Handle null mtd by @samad-yar-khan in #254
- Auto repo selection in deployment frequency by @e-for-eshaan in #255
- Fixes cron logs path by @amoghjalan in #259
- Update lead time calculation in PullRequestsTable by @shivam-bit in #260
- Docker volumes for postgres persistence storage and minor cli watch string lookup changes by @adnanhashmi09 in #261
- Fetches Teams API at every render of Dora-page by @e-for-eshaan in #262
- Logs not streaming for api and sync server by @samad-yar-khan in #263
- update docker compose by @samad-yar-khan in #268
- make config.ini keys consistent over container restarts by @adnanhashmi09 in #269
- chore: Update useRedirectWithSession logic in useRoute.ts by @shivam-bit in #273
- Add SomethingWentWrong component and first team load done flag by @shivam-bit in #270
- updated fresh org threshold to be 10 minutes by @e-for-eshaan in #267
- Update useLogs.tsx to include cron/cron as log source by @shivam-bit in #275
- Caches Python packages by @amoghjalan in #276
- Update integrationsLinkedAtMap in org API response by @shivam-bit in #277
New Contributors
- @JuanJoseLL made their first contribution in #233
Full Changelog: 0.1.0...0.1.1
Middleware v0.1.0
Release Notes: Middleware v0.1.0
Hello, world! 👋
This is the first release of our open-source project, Middleware.
What is Middleware?
We built Middleware to help engineering managers like you analyze their team's performance better. It focuses on the DORA metrics (DevOps Research and Assessment) that are widely used in the industry. These metrics will give you a good idea of how well your team is delivering software and how efficiently they're working.
What's in this release?
- Pulling data from GitHub: You can now connect Middleware to your GitHub repositories using a Personal Access token and get data from there.
- DORA Metrics We've added the four main DORA metrics to help you understand your team better:
- Lead Time for Changes: How long it takes to get a change from code commit to being merged into the main branch.
- Deployment Frequency: How often you deploy new code (right now, this is based on the number of merged pull requests).
- Change Failure Rate: How many deployments cause problems (right now, we look for reverted pull requests).
- Mean Time to Recovery: How long it takes to fix a problem after a deployment (again, based on reverted pull requests).
- Docker Images: We've made Docker images for Middleware so you can easily run it on different systems. You can find them here: link.
We want to hear from you!
This is our first attempt, and we'd love your feedback. If you find any bugs or have ideas on how to make Middleware better, please open an issue or send us a pull request on our GitHub repository
Thanks for using Middleware!
What's Changed
- Project setup by @samad-yar-khan in #1
- Add: DB Setup by @amoghjalan in #5
- Add SQLAlchemy Models by @amoghjalan in #6
- Add Placeholder repositories by @amoghjalan in #7
- Environment variable population by @samad-yar-khan in #8
- Add black workflow by @samad-yar-khan in #9
- Settings API by @samad-yar-khan in #10
- Optimize imports by @amoghjalan in #11
- GROW-1206 Add Code Integration: Github exAPI by @amoghjalan in #12
- API for excluded PRs by @samad-yar-khan in #13
- Add Code Integration: GitHub Handler by @amoghjalan in #14
- Grow 1211 factory setup by @amoghjalan in #15
- Grow 1211: Code Ingestion: ETL Code Handler + Integration sys by @amoghjalan in #16
- Grow 1212: Code Ingestion: Analytics (FRT, RT, RC, MT) by @amoghjalan in #17
- API for resolved incidents by @samad-yar-khan in #19
- Grow 1217: Workflows Ingestion: ETL Github Actions Handler by @amoghjalan in #20
- Add Repo methods for PR crud by @samad-yar-khan in #21
- Add WorkflowRepoService and Workflow filter processor by @samad-yar-khan in #22
- Add models Deployment and add adapters by @samad-yar-khan in #23
- Add Deployment to PR mapper - Map between deployment and PRs by @samad-yar-khan in #24
- DeploymentsFactoryService ABC - for Deployment related queries by @samad-yar-khan in #25
- Add DeploymentsService - All deployment related funcs and queries by @samad-yar-khan in #26
- Add Deployment analytics API by @samad-yar-khan in #27
- Grow 1220: Workflows Ingestion: ETL Workflows Handler + Integration sys by @amoghjalan in #28
- Fixes Query Name in Codebase by @amoghjalan in #29
- Deployments map tests by @amoghjalan in #30
- API for teams Lead Time PRs by @samad-yar-khan in #31
- Grow 1224: Add MTD Broker by @amoghjalan in #33
- Create GitHub external APIs by @amoghjalan in #35
- Add api to fetch PRs in a deployment by @samad-yar-khan in #34
- API for fetching deployments with related incidents by @samad-yar-khan in #36
- Add GitIncidentsAPIService for git based incidents by @amoghjalan in #37
- API for Team Lead Time by @samad-yar-khan in #38
- Add time utils and tests by @samad-yar-khan in #39
- Grow 1232: Incidents Ingestion: ETL git based incidents Handle by @amoghjalan in #40
- API for Team Lead Time Trends by @samad-yar-khan in #41
- Grow 1233: Incidents Ingestion: ETL Incidents Handler + Integration sys + Adaptor Tests by @amoghjalan in #42
- Add dict utils for metric aggregation by @samad-yar-khan in #43
- Add team deployment frequency API by @samad-yar-khan in #44
- API for team deployment frequency trends by @samad-yar-khan in #45
- API for Team mean time to recovery (MTTR) by @samad-yar-khan in #47
- Update API pattern to teams/ everywhere by @samad-yar-khan in #48
- Add API for MTTR Trends by @samad-yar-khan in #49
- Add Team CFR API by @samad-yar-khan in #50
- API for Team CFR Trends by @samad-yar-khan in #51
- frontend setup for dora by @e-for-eshaan in #46
- Refactor imports and remove unused code by @shivam-bit in #60
- Add integration endpoint and encryption utility by @shivam-bit in #61
- Add team repository functionality by @shivam-bit in #63
- Add UI for integrations page and relevant functions by @e-for-eshaan in #65
- Initialize DB on Server start with a default Organization by @amoghjalan in #66
- Grow 1299 by @samad-yar-khan in #67
- Fixes Github ETL by @amoghjalan in #68
- Fix git workflows etl by @amoghjalan in #69
- Fix git incidents etl by @amoghjalan in #71
- Add test for CFR trends by @samad-yar-khan in #70
- Create Data Sync Script by @amoghjalan in #72
- Add types and export statement for CodeSourceProvidersIntegration by @shivam-bit in #74
- Add lead-time-centric dora-metrics hooks and files by @e-for-eshaan in #73
- Remove debugging statements by @amoghjalan in #76
- Update settings getters and setters to allow optional setter_id by @samad-yar-khan in #77
- Refactor team settings API endpoint by @shivam-bit in #64
- return if default org is None by @adnanhashmi09 in #78
- Parse PR filter by @samad-yar-khan in #80
- Add UIPreferences Table by @amoghjalan in #81
- change env variable names by removing 'DORA' prefix by @adnanhashmi09 in #83
- Fixes initialize db script by @amoghjalan in #84
- Dora Metrics BFF API by @samad-yar-khan in #86
- Create UI components for TeamsList and useTeamsConfig by @e-for-eshaan in #85
- Add team-related reducers and async thunks, and implement deleteTeam functionality. Also, add stringAvatar and SimpleAvatar components. by @shivam-bit in #88
- hot-fix Dont close session by @samad-yar-khan in https://github.com/middlewarehq/middleware/pull/...