Comments (7)
Be clear about our public API but through :no-doc meta only.
If we would mark those with no-doc we could give ourselves the permission to break those in future releases since we assume nobody relies on those, which isn't a good assumption since there are counter-examples from the wild, yes?
from clj-yaml.
Yes, Option 2 is a softer doc-only version of Option 3 which is, potentially (depending on what we decide is public) a deliberate clj-yaml user breaking change. A very un-clojury thing to do. If only we could rewrite history, eh?
We could do a thorough search and make our public API everything we see being used in the visible wild. Private repos could still be affected. I took this approach for etaoin which also did not distinguish public from internal.
This would include trying to adapt our recent decode
change to be an unbreaking change.
Option 1 would be the safest bet for clj-yaml users but leaves us with maybe a bit of an odd public API. And one that is more challenging to support. But at least we'd have an understanding that we shouldn't break it.
from clj-yaml.
I pondered option 4 - deprecate clj-yaml and create clj-yaml2 (if the burden of other options is not palatable). But I think that's not a very good option for babashka, which has clj-yaml baked in.
from clj-yaml.
Maybe Option 1 is the way to go? It's not like its a huge API, for gosh sakes.
from clj-yaml.
Yeah, gonna assume Option 1, pipe in if you have other strong opinions, but please do so soon because I am proceeding.
from clj-yaml.
I would say option 1 but going forward: be very strict about what to expose.
from clj-yaml.
Agreed
from clj-yaml.
Related Issues (20)
- Upgrade to SnakeYAML 1.41 and solve "Number of aliases exceeds" error HOT 3
- Dump aliases HOT 4
- Incorrectly identifies a map key as a keyword literal HOT 2
- Make it easier for folks to include clj-yaml in a GraalVM native image HOT 1
- Support for reading comments HOT 2
- How to efficiently return full yaml file with updated values? HOT 23
- ci chore: specify token for vulnerability scan
- Accidentally broke decode? HOT 8
- Add lint to CI
- Test against supported verisons of Clojure
- Deprecated constructor `org.yaml.snakeyaml.representer.Representer` HOT 4
- Add Eastwood linting
- support nesting-depth-limit on Yaml-options HOT 2
- Explore Upgrading to SnakeYAML 2.x HOT 5
- dev: make nvd scan easy to run locally
- Consider bumping org.flatland.ordered HOT 3
- The incoming YAML document exceeds the limit: 3145728 code points. HOT 10
- The newest ordered is 1.5.10 which solves a couple of bugs
- Upgrade ordered to 1.15.11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clj-yaml.