(command.CommandList
  children: [
    (C {(echo)} {(DQ ('MicroPython change log'))})
    (command.ForEach
      iter_name: t
      iter_words: [
        {
          (command_sub
            left_token: <Left_DollarParen '$('>
            command_list: 
              (command.CommandList
                children: [
                  (command.Pipeline
                    children: [(C {(git)} {(tag)}) (C {(grep)} {(-v)} {(v1.0-rc1)}) (C {(sort)} {(-rV)})]
                    negated: F
                  )
                ]
              )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(echo)} {(SQ )})
            (C {(echo)} {(SQ <'========'>)})
            (C {(echo)} {(SQ )})
            (C {(git)} {(show)} {(-s)} {(--format) (Lit_Equals '=') (Lit_Other '%') (cD)} 
              {
                (command_sub
                  left_token: <Left_Backtick '`'>
                  command_list: 
                    (command.CommandList
                      children: [
                        (C {(git)} {(rev-list)} {($ VSub_DollarName '$t')} 
                          {(--max-count) (Lit_Equals '=') (1)}
                        )
                      ]
                    )
                )
              }
            )
            (C {(echo)} {(SQ )})
            (C {(git)} {(tag)} {(-l)} {($ VSub_DollarName '$t')} {(-n9999)})
          ]
        )
    )
  ]
)