Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release v2.8.0 #551

Merged
merged 1 commit into from
Oct 1, 2022
Merged

release v2.8.0 #551

merged 1 commit into from
Oct 1, 2022

Conversation

cspiel1
Copy link
Collaborator

@cspiel1 cspiel1 commented Sep 30, 2022

Create/Prepare PRs for new Release (re/rem/baresip)

  • Update CHANGELOG.md
    • Click Draft a new release on Release page
    • Fill a new release tag version and title (like v2.4.0)
    • Press Auto-generate Release notes
    • Save as draft (don't publish yet)
    • Copy release notes to CHANGELOG.md
  • Update debian/changelog
  • Check ABI compatibility (only re and rem for now)
    • CMakefile (Bump PROJECT_SOVERSION)
    • Makefile (Bump ABI_MAJOR)
  • Comment out PRE Release identifier -dev
    • CMakefile
    • Makefile
  • All tests green? [re/rem/retest/baresip]

Release

  • Merge PRs in this order
    • libre
    • librem
    • retest (needs only a version tag - no PR)
    • baresip
  • Publish draft Releases (follow the same order)
    • Maybe Auto-generate Release notes is needed to update (delete last notes first)

After Release

This list was copied from https://github.com/baresip/re/wiki/Release-Checklist

@cspiel1 cspiel1 changed the title release v2.8.0 release v2.8.0 - (man branch) Oct 1, 2022
@cspiel1
Copy link
Collaborator Author

cspiel1 commented Oct 1, 2022

Was not sure, if the step "Save as draft" creates a draft PR and branch already. But it didn't. So will proceed in my branch.

@cspiel1 cspiel1 changed the title release v2.8.0 - (man branch) release v2.8.0 Oct 1, 2022
@cspiel1
Copy link
Collaborator Author

cspiel1 commented Oct 1, 2022

ABI version has to be incremented. At least because of:
re_http, re_rtp, ...

In the future, should we increment it in the PR that breaks the ABI?

Edit:
cmake: Is it enough to increment devX for PROJECT_VERSION_FULL in the PR that breaks ABI?
Makefile: also here inc devX in the PR?

In the release comment it out. So in CMakeLists.txt no PROJECT_VERSION_FULL is set?

@sreimers
Copy link
Member

sreimers commented Oct 1, 2022

In the future, should we increment it in the PR that breaks the ABI?

This would lead to a high ABI version number, at the moment we have multiple ABI breaks per release. Its normal that dev releases break the ABI, so IMHO it should only increased on release.

In the release comment it out. So in CMakeLists.txt no PROJECT_VERSION_FULL is set?

Sorry my fault, we need this on release:

set(PROJECT_VERSION_FULL ${PROJECT_VERSION})

@cspiel1
Copy link
Collaborator Author

cspiel1 commented Oct 1, 2022

@sreimers I think that I made some kind of mistake now. In retest seems that old tags had not been all in github and a lot of old tags where created remote:

git push --tags
...
 * [new tag]         v0.4.15 -> v0.4.15
 * [new tag]         v0.4.16 -> v0.4.16
 * [new tag]         v0.4.17 -> v0.4.17
 * [new tag]         v0.5.0 -> v0.5.0
 * [new tag]         v0.5.1 -> v0.5.1
 * [new tag]         v0.5.2 -> v0.5.2
 * [new tag]         v0.5.3 -> v0.5.3
 * [new tag]         v0.5.4 -> v0.5.4
 * [new tag]         v0.5.5 -> v0.5.5
 * [new tag]         v0.5.6 -> v0.5.6
 * [new tag]         v0.5.7 -> v0.5.7
 * [new tag]         v0.5.8 -> v0.5.8
 * [new tag]         v0.5.9 -> v0.5.9
 * [new tag]         v0.6.0 -> v0.6.0
 * [new tag]         v0.6.1 -> v0.6.1
 * [new tag]         v1.0.0 -> v1.0.0
 * [new tag]         v1.1.0 -> v1.1.0
 * [new tag]         v2.0.0 -> v2.0.0
 * [new tag]         v2.0.1 -> v2.0.1
 * [new tag]         v2.0.1-dev10 -> v2.0.1-dev10
 * [new tag]         v2.0.1-dev11 -> v2.0.1-dev11
 * [new tag]         v2.0.1-dev12 -> v2.0.1-dev12
 * [new tag]         v2.0.1-dev13 -> v2.0.1-dev13
 * [new tag]         v2.0.1-dev14 -> v2.0.1-dev14
 * [new tag]         v2.0.1-dev15 -> v2.0.1-dev15
 * [new tag]         v2.0.1-dev17 -> v2.0.1-dev17
 * [new tag]         v2.0.1-dev7 -> v2.0.1-dev7
 * [new tag]         v2.0.1-dev8 -> v2.0.1-dev8
 * [new tag]         v2.0.1-dev9 -> v2.0.1-dev9
 * [new tag]         v2.1.1 -> v2.1.1
 * [new tag]         v2.2.0 -> v2.2.0
 * [new tag]         v2.2.1 -> v2.2.1
 * [new tag]         v2.2.2 -> v2.2.2
 * [new tag]         v2.3.0 -> v2.3.0
 * [new tag]         v2.8.0 -> v2.8.0

Does it matter?

@sreimers
Copy link
Member

sreimers commented Oct 1, 2022

Does it matter?

I think not, looks ok to me. I see only v2.8.0 as new tag.

@cspiel1
Copy link
Collaborator Author

cspiel1 commented Oct 1, 2022

Check ABI compatibility (only re and rem for now)

CMakeLists.txt got a PROJECT_SOVERSION yesterday. No counterpart in Makefile.

I'll inc ABI version because some enums got new values.

edit: copied the comment to baresip PR baresip/baresip#2193

@cspiel1 cspiel1 marked this pull request as ready for review October 1, 2022 08:11
@cspiel1 cspiel1 merged commit 84895ab into baresip:main Oct 1, 2022
@cspiel1 cspiel1 deleted the release_v2_8 branch October 1, 2022 08:24
cspiel1 added a commit that referenced this pull request Oct 1, 2022
* Update README.md (#503)

* thread: fix win32 thrd_create return values (#506)

* cmake: bump min. version 3.10 (#504)

* cmake: add USE_JBUF option (#507)

* tcp: add tcp_send_queued to check queue used

* http: add http_client_set_bufsize_max / http_client_get_bufsize_max

* http, httpauth, websock: support large req body and add body handler

Support large req body.
Allow set body handler.
Use type mbuf for body parameter.

* http/client: fix possible null pointer dereference

Reported-by: Coverity Scan

* ci/windows: test choco install no-progress (#510)

* bitv: remove deprecated module (#513)

* types,fmt: use re_restrict (#514)

Adds `__restrict` macro for WIN32

* sip: refer out of dialog (#508)

* sip: add UAS authentication

* sip: improve err handling for UAS auth

Fixes also a clang analyzer warning "call argument uninitialized".

* readme: update supported versions

* sipsess/update: bugfix (#516)

* sipsess: fix UPDATE issues

In modify.c:sipsess_update() sess->req containing the original INVITE
request was overwritten with the UPDATE request which could lead to a
multitude of problems.

Now, an UPDATE is sent by allocating a sipsess_request and sending it is
handled separately from re-INVITEs.

* sipsess: UPDATE improvements

Remove unused parameters from sipsess_update and correct conditional
checks in sipsess_modify.

* sip/auth: fix mem_zalloc return check (#518)

* ci/clang-analyze: use clang 14

* Update media fixes (#515)

* sipsess: call answer handler for each SDP answer (#2074)

* dns: add dnsc_getaddrinfo_enabled

* http: query getaddrinfo enabled in http_client_set_config

* tmr: Added a method to obtain a realtime clock time point.

Realtime clock time is useful for calculating NTP time points for
RTCP SRs. Applications may use this function to associate RTP
timestamps of sent RTP packets with realtime clock time points,
so that this association is subsequently used to calculate NTP time
points in RTCP SRs.

* rtp: Synchronize NTP and RTP timestamps in RTCP SR.

Obtain the wallclock time once and convert it to both NTP and RTP timestamps
instead of obtaining the current time twice, separated with a mutex lock.
This improves media synchronization quality.

Also, when no RTP packets have been sent and no reference timestamps are
available, generate RR instead of SR to avoid sending bogus timestamps
in the SR.

* rtp: Add realtime timestamps to rtp_send and rtcp_sess_tx_rtp methods.

The realtime timestamps allow the application to specify the time point
that corresponds to the RTP timestamp on the media presentation timeline.
This can be called "capture time", for whatever definition of "capturing"
the application has.

This timestamp is further used to calculate the NTP/RTP timestamps that
are sent in RTCP SR and used on the receiver to synchronize different
media streams from the sender. Having the timestamp provided by the
application allows for a more precise correspondence between NTP and RTP
timestamps, even if the media is sent non-monotonically and out-of-order.

* conf: check if returned size is larger than buffer

* udp: remove very old iOS hack

* tcp: remove very old iOS hack

* cmake,debian: Use CMake for debian packages (#522)

* crc32: add re wrapper (#526)

* ci: convert valgrind to cmake (#529)

* ci: convert valgrind to cmake

* valgrind: use cmake build

* valgrind: minor fixes

* valgrind: build rem with cmake

* coverage: enable verbose retest

* ci: convert ssl build to cmake (#530)

* ci: convert fedora to cmake (#531)

* ci: convert coverage to cmake (#532)

* ci: migrate to cmake (#533)

* ci: migrate to cmake

* run scan-build-14 twice

* cmake: add LINKLIBS and make backtrace and zlib optional (#534)

* cmake: add LINKLIBS and make backtrace and zlib optional

* fix darwin libs

* shim: use try_into_u16_from_size instead generic helper

fixes #520

* atomic,convert: check C11 compatibility

* pcp: fix cppcheck warning

src/pcp/request.c:115:13: warning: Possible null pointer dereference: msg [nullPointer]
 if (err || msg->hdr.result != PCP_SUCCESS ) {
            ^
src/pcp/request.c:141:29: note: Calling function 'completed', 3rd argument 'NULL' value is 0
  completed(req, ETIMEDOUT, NULL);
                            ^
src/pcp/request.c:115:13: note: Null pointer dereference
 if (err || msg->hdr.result != PCP_SUCCESS ) {
            ^

* fmt/print: fix cppcheck overflow

```
src/fmt/print.c:77:15: error: Pointer arithmetic overflow; 'buf' buffer size is 64 [ctuPointerArith]
 char c, *p = buf + NUM_SIZE - 1;
              ^
src/fmt/print.c:272:20: note: Calling function local_itoa, 1st argument is uninitialized
   len = local_itoa(num, (sn < 0) ? -sn : sn, base,
                   ^
src/fmt/print.c:77:15: note: Using argument buf
 char c, *p = buf + NUM_SIZE - 1;
```

* tls: remove SHA1 fingerprint (deprecated)

* telev: add telev_is_empty()

* telev: make parameter const and add NULL pointer check

* debian: release build

* sipreg: avoid sending un-REGISTER periodically

A periodic un-REGISTER should be done only if `fbregint` (fallback SIP server
registration interval) was set.

* cmake,mk: bump the tentative next release with pre-release identifier

* sipsess/update: Add Contact header to UPDATE

UPDATEs are now sent with Contact header which is mandatory according to
RFC 3311.

* cmake: fix shared API soversion (aligned with make)

* cmake/pkgconfig: fix name

* releasae v2.8.0 (#551)

Co-authored-by: Alfred E. Heggestad <alfred.heggestad@gmail.com>
Co-authored-by: Sebastian Reimers <hallo@studio-link.de>
Co-authored-by: Franz Auernigg <f.auernigg@commend.com>
Co-authored-by: Maximilian Fridrich <m.fridrich@commend.com>
Co-authored-by: Andrey Semashev <andrey.semashev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants