eclipse-leshan / leshan

Java Library for LWM2M
https://www.eclipse.org/leshan/
BSD 3-Clause "New" or "Revised" License
652 stars 407 forks source link

Plan for 2.0.0-M12 🎯 #1468

Closed sbernard31 closed 1 year ago

sbernard31 commented 1 year ago

A 2.0.0-M12 release was requested by Orange. (#1467) If possible Orange would like to have it released this week but that sounds very short delay to me.

So let's start to discuss and plan work to do about it and release it when it will be ready.

What is currently included for M12:

New commits in master since M11 :

6a05894e7: Add tests about dynamic IP for observer and send operation
330617f9d: Expose CoapEndpoint instead of Endpoint at client side
c8606bc0b: Add ReserverProxy to be able to test client IP address changes.
2066961fd: Make LwM2mIdentitySerDes / LwM2mPeerSerDes customizable in Redis store
ec90257c0: ClientProfileProvider returns Profile only when registration is found
1186c01fa: Rename ServerIdentity in LwM2mServer at client side.
f994bc199: GH-1436: Refactoring about `Identity` class
a3d093134: Remove useless class which should not have been committed in 6091fc3bab
a3564885a: GH-1439: Update SECURITY.md to recommend usage of Security Advisories.
3c25bdf35: Make SecurityInfo Constructor protected to allow inheritance
b620141cd: GH-1434: Use LWM2M v1.1 default object version way at client side.
3786149da: Make LinkFormatHelper Dynamic.
d3a6f46d5: Remove old Backward Compatibility code about RedisRegistrationStore
cd2239184: GH-1434: Use LWM2M v1.1 default object version way at server side.
332d48773: Move registration data extraction from link in a dedicated class.
b7e8a2d78: Update Security.md with new eclipse policy.
8af670cb7: Add some "common maintenance tasks" to webapp demo README.
edcdc9298: Upgrade yarn.lock for web demo.
1776acf98: Update Browserslist in web demo
14b6f5c03: GH-1446: Fix bad supported algorithm exception message in SecurityUtil
d47e000c9: Add TODO about Checking ContentFormat on notification
100830629: Add RequestCanceledException without constructor
ab21e2462: Upgrade to slf4j 2.0.7
ab207af2e: Refactor integration tests to be able to test several transports
25e1aca83: Add AssertJ 3.24.2 test dependency.
1b1d23b62: Add Mockito 4.11.0 test dependency.
868f8b3bd: Add setTaskProvider to LeshanBootstrapServerBuilder
be7963221: GH-1441: Do not show "EXE" Button for resources with NONE operations.
d5052f181: ci: use actions/setup-java temurin distribution
1ee287fcb: GH-1393: Added resources 13-20 in to ServerConfig
989f4e70a: GH-1427 : Fix Float Attribute Parsing.
37bfbe06f: Add profile to not download yarn on sourceforge by default.
10edf13ae: GH-1428 Upgrade to yarn 1.22.19
ca1e6bc58: Fix release nightly build issue.

Redis Store Compatibility break :
Note that we break again RedisRegistrationStore data format because of : #1445.

What is missing ? Here is some topic that we maybe want in M12 ?

  1. @Warmek, @JaroslawLegierski, https://github.com/eclipse-leshan/leshan/issues/1421 is not totally fixed in master because 2 PRs below are not integrated :
    1. https://github.com/eclipse-leshan/leshan/pull/1463
      1. https://github.com/eclipse-leshan/leshan/pull/1464
  2. @jakubsobolewskisag, @sag-eweingaertner do you need some part of https://github.com/eclipse-leshan/leshan/issues/1447 in a M12 release soon ? (note that remarks about M11, are still true for M12)

If you have more ideas, please comments :point_down:

sbernard31 commented 1 year ago

Other questions, a Californium release could be planned for 20.07.2023. Maybe this is a game-changer about the release date ? Let me know if you want to wait for it OR not ?

jakubsobolewskisag commented 1 year ago

@sbernard31 I just talked to @sag-eweingaertner and we really appreciate the progress you've made on SNI. We'd like to test and review your changes and at the same time we don't want SNI to be a blocker for M12 release. If we need SNI support urgently we'll just create a custom build, but I don't think it will be necessary - we'll probably need it later at the end of this year. Thanks for asking!

sbernard31 commented 1 year ago

@jakubsobolewskisag, thx for prompt answer. So we can remove SNI from M12 scope.

sbernard31 commented 1 year ago

I updated some dependencies before the release : https://github.com/eclipse-leshan/leshan/pull/1469

sbernard31 commented 1 year ago

I added some little polish with #1470 which should be integrated in M12

@Warmek, @cyril2maq,

I think that :

About :

In all case, let me know if you want to review that :point_up: before I integrate it in master.

I also wait for an answer about : https://github.com/eclipse-leshan/leshan/issues/1468#issuecomment-1630780477 and also let me know if there are something more you wanted to add in this release ?

Once I get your answer( and maybe your review), I will integrate that in master, then I will declare a code freeze in master. Then you have time to test it and once I get your green light. I start the release process.

sbernard31 commented 1 year ago

Currently Leshan use Californium 3.8.0. The 3.9.0 should contains at least those modification:

43090c994: Fix typo in README.
7db24b5c4: Cleanup internal usage of deprecated functions and fields.
5eb09d10f: Add data privacy note to interoperability sandbox server.
ee9b0d02c: Use read/write lock for blockwise layer.
d4b014f21: Deprecate LeastRecentlyUsedCache.
c7070928c: Update NOTICE about the new dependency version.
869403d37: Update dependency guava to 32.0.1-android.
ec7de434d: Experimentally relax the constraints of the exchange executor.
222a94551: Fix trust stores with only one trusted certificate.
1c79fac69: Update bouncy castle to 1.75.
4e2c82bf8: Update netty.io dependency.
c27ec5f9e: Remove general warning when configuration has no definitions.
abdfda934: Print stacktrace, if TestCertificatesTools initialization fails.
72ca1fd11: Update dependencies of californium-proxy.
353856ada: Update dependencies.
f8cf7ab82: Add example to register a configuration module.
42d88b815: Add truncateHeader.
66cf63446: Add test categories.
b4d302410: Use CERTIFICATE_EXPIRED on expired certificates.
0288e5846: Add RFC9175/9177 options.
4c606dff3: Use bad-certificate when validation fails.
95531fe0a: Amend javadoc of Configuration.
d7e37c86b: Update repo name in cf-unix-setup to eclipse-californium.
dcbdf8132: Revert names of interoperability tests to tinydtls-client and -server.
261defe6c: Add missing MAX_ACK_TIMEOUT to coap-definitions.
47e2ddfab: Add set of ARIA cipher suites.
8c103bd0d: Add function to determine full or abbreviated handshakes.
012e857d7: Add hint about wrong PSK secret.

(Maybe this could help to decide)

sbernard31 commented 1 year ago

(Oh I just remember this Friday is 14th July, so a state holiday)

sbernard31 commented 1 year ago

Orange guys,

I must confess that I'm a bit confused because I understood that you wanted ideally the M12 released for this week.
Timing was short but maybe doable, so I make this my priority for this week. I tried to get feedback from community quickly. Everybody was very reactive except you, I mean release plan is blocked since1 or 2 days because I don't get any answer from your.

Anyway not a big deal, just confusing. Finally just to let you know that the ball is in your court.

(I'm back on Monday)

Warmek commented 1 year ago

Sorry for the delay. Regarding #1470 as the original code works for us it's not necessary to include #1464 in M12. I agree that #1463 should be included as a bug fix. As for the next Californium release, there is nothing that we need right now. Let me know if I missed something

sbernard31 commented 1 year ago

Thx for feedback.

Regarding https://github.com/eclipse-leshan/leshan/pull/1470 as the original code works for us it's not necessary to include https://github.com/eclipse-leshan/leshan/pull/1464 in M12.

Just to avoid any misunderstanding : I'm not sure but I guess that you didn't want to refer #1470 ? or maybe I didn't get what you mean ?

On my side, I plan to integrate :

I also understand that you prefer the release asap and so don't want to wait for Californium release, right ?

sbernard31 commented 1 year ago

Just to let you know, we faced some issue with our jenkins instance :grimacing: : https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/3429

Warmek commented 1 year ago

On my side, I plan to integrate :

  • 1470

  • 1463

That's fine with us.

I also understand that you prefer the release asap and so don't want to wait for Californium release, right ?

That's correct

sbernard31 commented 1 year ago

Ok I already integrated those 2 PR, so :cold_face: code freeze in master :snowflake:. You have time to test it if wanted.
I finally succeed to get a nightly build for it.
So you can use it for testing if needed, see how to use nightly : https://github.com/eclipse-leshan/leshan/pull/885#issue-691846513

I wait for your green light to trigger the release process.

sbernard31 commented 1 year ago

I also understand that you prefer the release asap and so don't want to wait for Californium release, right ?

As Californium 3.9.0 is now available, and we still didn't release the M12. I ask myself if we should finally integrate it in M12 ?

On your side did you start OR do you plan to test Leshan before the release ?

sbernard31 commented 1 year ago

Following https://github.com/eclipse-californium/californium/issues/2160#issuecomment-1643630588, probably better to integrate Californium 3.9.0 after the M12.

sbernard31 commented 1 year ago

@Warmek could you give me some visibility, let me know if you at Orange plan to test that.
If not we are actually waiting for nothing.

sbernard31 commented 1 year ago

(Note that I will be unavailable from 31/07 to 15/08 included)

slaft commented 1 year ago

@Warmek could you give me some visibility, let me know if you at Orange plan to test that. If not we are actually waiting for nothing.

I'm a colleague of @Warmek at Orange. We've tested the nightly build and found no issues. Really sorry for the lack of responsiveness on our part.

sbernard31 commented 1 year ago

@slaft thx for letting me know that. :pray:

:construction_worker_man: I will try to start the release process. :construction:

sbernard31 commented 1 year ago

:heavy_check_mark: It should be available on maven central now.

I will communicate about it on Monday.

slaft commented 1 year ago

Thanks a lot.

sbernard31 commented 1 year ago

Communication is done : https://github.com/eclipse-leshan/leshan/releases/tag/leshan-2.0.0-M12

So I close this issue.