question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

7.0.0-alpha2 breaking formatter backwards compatibility

See original GitHub issue
ElasticLowLevelClient.Serializer.SerializeToString()

introduced a new IMemoryStreamFactory parameter in the middle of the parameter chain - this means that libraries compiled against ElasticSearch.Net 6.X don’t work with references to 7.0; this includes libraries installed from NuGet. The AssemblyRedirects generated will try to call SerializeToString() with parameters (data, format) instead of (data, null, format) throwing an error.

It’d be nice getting a SerializeToString() implementation without the IMemoryStreamFactory parameter for backwards compatibility so that existing libraries don’t break.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
kanadajcommented, Jun 2, 2019

@Mpdreamz Happy to help, Elasticsearch really does a lot for us as a free tool (I really want the paid features like alerts and the other machine learning goodies but we simply can’t afford it, it’s too steep 😢 ) so I’m happy to contribute where I can.

Personally, I don’t think netstandard1.3 needs to be carried forward - it’s fairly simple to migrate from Core 1.X to Core 2.2 for any ASP.NET Core app (and let’s be fair, Core 1.X wasn’t really good for much else, and even then it lacked a lot of features, so I imagine almost all web apps are already on 2.X).

1reaction
Mpdreamzcommented, May 31, 2019

This relates to: https://github.com/serilog/serilog-sinks-elasticsearch/pull/249

@kanadaj we are looking to take a more active involvement in the sink again and are meeting @mivano next week. Thank you for that PR by the way, its something we have on the backlog to do in the coming weeks!

Some special care will need to be taken to ensure the sink works against 6.x Elasticsearch using the 7.x client and the sink will need to be stricter about not allowing major version bumps since these type of breakages will happen on major version changes.

Ideally we update the sinks dependency to 7.0.0 across the board and make sure all the TFM’s are available to so. I am not sure netstandard1.3 needs to be carried forward but it’d be great to get some wider feedback on that.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Breaking changes | Beats Platform Reference [8.9]
As a general rule, we strive to keep backwards compatibility between minor versions (e.g. 8.x to 8.y) so you can upgrade without any...
Read more >
JDK 1.7 breaks backward compatibility? (generics)
Is it a bug in 1.6 compiler that it allows us to do so? Is it possible to make it work in 1.7...
Read more >
First time having users - how to deal with backwards ...
If you really must, think about backward compatibility. Adding new features to an existing file format doesn't stop you reading old files ...
Read more >
Backward Incompatible Changes - Manual
The o serialization format has been removed. As it is never produced by PHP, this may only break unserialization of manually crafted strings....
Read more >
What would happen if Java would break backwards ...
Java's strong backward compatibility only applies to the specification, and most difficulties were caused by code that circumvented the spec.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found