code: def get_changes_between_builds(self, project, from_build_id=None, to_build_id=None, top=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          query_parameters = {}
          if from_build_id is not None:
              query_parameters['fromBuildId'] = self._serialize.query('from_build_id', from_build_id, 'int')
          if to_build_id is not None:
              query_parameters['toBuildId'] = self._serialize.query('to_build_id', to_build_id, 'int')
          if top is not None:
              query_parameters['$top'] = self._serialize.query('top', top, 'int')
          response = self._send(http_method='GET',
                                location_id='f10f0ea5-18a1-43ec-a8fb-2042c7be9b43',
                                version='5.0-preview.2',
                                route_values=route_values,
                                query_parameters=query_parameters)
          return self._deserialize('[Change]', self._unwrap_collection(response))
docs: GetChangesBetweenBuilds.
          [Preview API] Gets the changes made to the repository between two given builds.
          :param str project: Project ID or project name
          :param int from_build_id: The ID of the first build.
          :param int to_build_id: The ID of the last build.
          :param int top: The maximum number of changes to return.
          :rtype: [Change]