-
Notifications
You must be signed in to change notification settings - Fork 633
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
Unstable APIs in stable packages should be more clearly marked as unstable #5920
Comments
With the current note, are you trying to communicate that the public API is unstable in the sense that it might change drastically and in breaking ways or that it is free of malicious intent? When I hear the word unstable, I get the impression that it might change in breaking ways, but the latter part of the note "yet to be vetted" sounds like that's not the message trying to be communicated here. |
How about logging a warning? |
It means it can be changed in breaking ways in the future. The phrase is traditionally used in CLI's API docs. Maybe it can be worded in a better way
That might be another option, but there's also an opinion from the core team that it should be visible in sample code. (Warnings are only visible at runtime) |
I'd rather not. We did this for deprecated APIs in preparation for Deno 2 and quickly reverted it, even with environment variables that disabled it. It seemed to cause more annoyance than provide help. |
These 51 APIs are targets of this change. https://gist.github.com/kt3k/f6754c2fa5b90cc6ef7c03396aa90b37 |
@kt3k, if you have time, would you be able to create a checklist for the modules that need to migrate? I can probably work through this tomorrow. |
Added the task list in the first comment. |
All unstable items in stable packages have been migrated to |
Currently we add the note
@experimental **UNSTABLE**: New API, yet to be vetted.
to the docs of unstable APIs. However there are feedbacks that this note is not enough for making the users aware of the unstableness of those APIs, and there are too high chance that users unintentionally start using them.We currently consider moving unstable APIs under
unstable-
prefixed export paths. For example, (unstable)route
API in@std/http
becomes:std/assert
assertNever
functionstd/cli
BREAKING(cli/unstable): movespinner
module tounstable-spinner
#5946Spinner
classSpinnerOptions
typeColor
type (part ofSpinnerOptions
)std/data-structures
BidirectionalMap
classstd/encoding
Base32EncoderStream
classBase32DecoderStream
classBase32HexEncoderStream
classBase32HexDecoderStream
classBase64EncoderStream
classBase64DecoderStream
classBase64UrlEncoderStream
classBase64UrlDecoderStream
classHexEncoderStream
classHexDecoderStream
classencodeBase32Hex
functiondecodeBase32Hex
functionstd/front-matter/yaml
BREAKING(front-matter/unstable): move unstable overload of yamlextract
tounstable-yaml
#5968extract
function (the overload with option)std/html
isValidCustomElementName
functionstd/http
refactor(http): move unstable APIs (header, method, signed-cookie) #5938HEADER
valueHeader
typeMETHOD
valueMethod
typeHandler
typeRoute
typeroute
function BREAKING(http/unstable): moveroute
module tounstable-route
#5939signCookie
functionverifySignedCookie
functionparseSignedCookie
functionstd/net
getNetowrkAddress
functionstd/path
basename
function (URL overload) BREAKING(path/unstable): move unstable overload ofbasename
tounstable-basename
#5957dirname
function (URL overload) BREAKING(path/unstable): move unstable overload ofdirname
tounstable-dirname
#5954extname
function (URL overload) BREAKING(path/unstable): move unstable overload ofextname
tounstable-extname
#5962join
function (URL overload) BREAKING(path/unstable): move unstable overload ofjoin
tounstable-join
#5964normalize
function (URL overload) docs(path): add note aboutunstable-join
#5967std/path/posix
basename
function (URL overload) BREAKING(path/unstable): move unstable overload ofbasename
tounstable-basename
#5957dirname
function (URL overload) BREAKING(path/unstable): move unstable overload ofdirname
tounstable-dirname
#5954extname
function (URL overload) BREAKING(path/unstable): move unstable overload ofextname
tounstable-extname
#5962join
function (URL overload) BREAKING(path/unstable): move unstable overload ofjoin
tounstable-join
#5964normalize
function (URL overload) docs(path): add note aboutunstable-join
#5967std/path/windows
basename
function (URL overload) BREAKING(path/unstable): move unstable overload ofbasename
tounstable-basename
#5957dirname
function (URL overload) BREAKING(path/unstable): move unstable overload ofdirname
tounstable-dirname
#5954extname
function (URL overload) BREAKING(path/unstable): move unstable overload ofextname
tounstable-extname
#5962join
function (URL overload) BREAKING(path/unstable): move unstable overload ofjoin
tounstable-join
#5964normalize
function (URL overload) docs(path): add note aboutunstable-join
#5967std/streams
toLines
functionFixedChunkStream
classstd/text
toConstantCase
functionslugify
functionstd/uuid
BREAKING(uuid/unstable): movev7
module tounstable-v7
#5937v7
namespacestd/uuid/v7
BREAKING(uuid/unstable): movev7
module tounstable-v7
#5937generate
functionvalidate
functionextractTimestamp
functionThe text was updated successfully, but these errors were encountered: