Recent Releases of pawnote

pawnote - v1.6.1

  • chore: fixed pipelines (a7ec929)

- TypeScript
Published by Vexcited 7 months ago

pawnote - v1.6.0

  • translate "libelleDate" to a real Date (#78 from @raphckrman)

- TypeScript
Published by Vexcited 7 months ago

pawnote - v1.5.0

  • adds experimental support for PRONOTE v2025 pre-release.

- TypeScript
Published by Vexcited 8 months ago

pawnote - js v1.4.1

fix(grade): noteMax and noteMin can be optional, see #73

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.4.0

feat: add support for gradebook, see https://github.com/LiterateInk/Pawnote/pull/72 for more information

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.6

docs(examples): show manual presence request (3651934) fix(presence): use Navigation to replicate old Presence behavior on latest update (d041135) refactor: move version detection into its own file (6d509ac)

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.5

Fixes an issue with grades on the API update, see https://github.com/LiterateInk/Pawnote/pull/71.

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.4

chore: remove extra debug line (smh) (0217b6a)

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.3

Also support new Signature property on version>=2024.3.9 (8794380)

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.2

Support new data property instead of donnees on version>=2024.3.9 because of a breaking API change (0c3f70b)

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.1

Quick fix for the typo on the new property introduced in 1.3.0, see #69.

- TypeScript
Published by Vexcited about 1 year ago

pawnote - js v1.3.0

Fixes

  • ID parsing on notebook absences : see #68
  • Add categoryText attribute on resources : see #67
  • Better server side error handling : see #62 (fixes #60)

Breaking Changes

There's a new method use() that allows to switch the current account context. This is done to start implementing the family accounts API, see #61

Please look the examples to see how it affects the code, you may look at the changes done in this commit to see the differences : https://github.com/LiterateInk/Pawnote/commit/f05fa818d143ee1d838ae13c558ae7273b24570e

- TypeScript
Published by Vexcited about 1 year ago

pawnote - kotlin v1.0.0

First release of the Kotlin implementation !

Should match the upstream JS/TS API.

A documentation is on the way...

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.2.2

Fixes

Access denied error was not handled properly previously in plain text response. Also, the usage of in to check errors in the response could be problematic in some cases and has been fixed.

  • fix(response): add access denied catch and prevent throwing on _Signature_ check because of in (#60) (c58b193)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.2.1

A small release to upgrade packages (notably the utilities one) to latest version.

  • chore(deps): bump (014ee41)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.2.0

Features

PIN and security methods has been fully implemented in auth flow, learn more in https://github.com/LiterateInk/Pawnote/issues/56. Please check the examples to see how to implement it in your project.

  • chore: merge pull request #59 from LiterateInk/feat/js/pin-code (cbd8871)

A new feature of PRONOTE v2024 has been implemented in Pawnote which are comments on grades, learn more in https://github.com/LiterateInk/Pawnote/issues/42. Thanks to @Gabriel29306 for implementing this feature !

  • chore: merge pull request #58 from Gabriel29306/grade-notes (788050e)

Fixes

An error could be thrown in timetable decoders when the date provided is invalid and no ListeCours is present.

  • fix(decoders): ListeCours can be undefined if date not valid (50c6bda)

Invalid properties were passed to the timetable request for the intervals method only, it has been fixed and properties are now correct.

  • fix(timetable): encode date properly on intervals (f3851f7)

When a domain was empty ([]) it would output [NaN] because of a for-loop issue. It has been fixed and is now returning [] properly.

  • fix(domain): return empty array when empty domain (d72de26)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.1.0

Add support for proper error handling. Errors are now in models/errors and are exported. Every errors in Pawnote is using one of those exported errors.

Add support for menus. You can now fetch menus for your establishment by doing pronote.menus(session, [Date]) !


  • feat: add proper errors (#8) (af01305)
  • chore(deps): bump (41415f4)
  • chore: merge pull request #55 from LiterateInk/js-menus (05b4333)
  • fix(homepage): remove menus since not supported (5a1c4ee)
  • chore: exports (e55086c)
  • feat: add dish and meal kinds (4c451c1)
  • feat: add week menu (c8e0a99)
  • feat: add menu (1c2de35)
  • feat: add meal (14f0149)
  • feat: add food (34b9bce)
  • feat: add food label (4e1cc8a)
  • feat: add food allergen (6bb8d65)
  • feat(api): add menus (aacfac1)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.0.3

  • fix(decoders): periods not read correctly (80841d1)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.0.2

Fixes an issue where an error is thrown when default periods aren't available.

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.0.1

  • feat: add notebook observation kind enum (e1fa8d1)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v1.0.0

FINALLY

After many hours of debugging and thinking, the final rewrite is here !

A lot of breaking changes were made, because the library is NOT the same AT ALL.

Not sure if a migration guide is needed here, you might have to check the examples before the v1 to catch the differences.

A documentation will be written soon with the new structure.

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.22.1

  • fix(timetable): handle each week separately (1ec97cf)
  • feat(timetable): add weekNumber property on classes (040038c)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.22.0

  • fix(dates): dynamic prefixed year characters (dbe0968
  • feat: onglets parser (277c0f4) #47
  • feat: add iCal URL getter and iCal token getter on personal information API call (640dc01)
  • feat!: use the PRONOTE version instead of a custom enum in session.instance (7a84dc8)
  • fix(api)!: use numbers instead of the year string for the version (7911e1e)
  • feat!: reimplement getTimetableOverviewForWeek (b278911)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.21.4

Bugfixes

  • (a3e357b) API for geolocation : received URLs are now lowercased by default (see why on #45)

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.21.3

Implements a bugfix in authentication process when you're in a context where Headers is undefined, thanks to @ecnivtwelve (#41).

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.21.2

Implementation of function (DiscussionCreationRecipientFunction) on DiscussionCreationRecipient

  • fix(types): listeRessources can be undefined and fonction is sometimes given (b61ea10)
  • feat(discussion): add support for fonction (d2202de)

Using the following JSON, previous versions would throw an error because listeRessources is undefined here.

jsonc { "L": "Mme RENARD Maëva", "N": "113#aAbBcCdDeEfFgGhHaAbBcCdDeEfFgGhH", "G": 34, "P": 28, "fonction": { "_T": 24, "V": { "L": "CPE", "N": "62#aAbBcCdDeEfFgGhHaAbBcCdDeEfFgGhH" } }, "avecDiscussion": true }

Instead, we have fonction which was not implemented nor typed.

This release fixes this by implementing a DiscussionCreationRecipientFunction class that handles properties from fonction. A function field has been added to the DiscussionCreationRecipient class to access values in there.

Note that subjects will still exist for listeRessources elements and will be an empty array when listeRessources is undefined.

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.21.1

Bug fix on grades

For some people, in the API, moyenne can be undefined on a grade and that would throw an error on Pawnote. This release fixes that by making the average property on StudentGrade optionnal (so can be undefined).

- TypeScript
Published by Vexcited over 1 year ago

pawnote - js v0.21.0

  • #36: Add method for grades report PDF generation for a given period
  • #35: Add support for "mesure conservatoire" (PrecautionaryMeasure) in attendance
  • #33: Add support for detentions in the timetable
  • 2ac99ff: Implementation for Turboself partner
  • a2552cd: Bugfix when reauthenticating using a token that should bypass ENT

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - js v0.20.4

  • feat(discussions): add checks if user is allowed to access it (b00a90a)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - js v0.20.3

  • fix(period): additional check to make sure periodeParDefaut is defined (3d7a2fa)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - js v0.20.2

  • feat(upload): support react native FormData file objects (39e5ce8)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - js v0.20.1

  • feat(homework/upload): add support for Blob and File (57a29e7)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - js v0.20.0

  • Add support for transferred messages (de35a40, resolves #15 )
  • Implemented observation type for attendance (#18)
  • Add homepage and partnerURL fetch (9fb6a28, f25fe7e, 495d970)
  • Implement ARD partner and wallet fetching (from PRONOTE) : #29
  • Full implementation for drafts in discussions : #30 (resolves #12 and #13)
  • Add support to move a discussion to trash, recover from trash and delete permanently : #28
  • Refactor lessons->classes (1047ff7)
  • Full reimplementation of timetable parsing : fa8811e, ec9e01a, e326017, 5cf5d6a
    • Configurable parser (with default behavior) to match exactly PRONOTE outputs
    • Implementation of activities (and not only lessons)
  • Implement native interval fetching for timetable (deprecated weekNumber method, for now) : ab7ef21
  • Implement getFrequencyForWeek method (08eff85) to know in which frequency we're currently are for a given week
  • Implement deletion of news : #25
  • Implement personal types on timetable : #24
  • Implement file uploads and add an adapter for homeworks : #22
    • Needs a correct FormData implementation in the fetcher body !
  • Implement maxHomeworkFileUploadSize in authorizations (cb7cdd8)
  • Better generative IDs handling (ca0deef)
  • Bugfix concerning grades when average for student and outOf are not given (c478960)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.19.0

Changelog

  • chore(recipients)!: rename classes (c8563d0)
  • feat(discussion/messages)!: add support for reply/sending (b8b2ceb)
  • feat(api/messages): add support for limit amount (4dc5e47)
  • feat(api): add message creation (b536bb8)
  • feat(messages): add pronote api button type (01734d3)
  • fix(attendance): use resource type (7f50909)
  • fix(aes): use newer function of node-forge (2fa81b2)
  • fix(session): better error handling when reading payload (a855ca6)
  • feat(session): add g type and documentation (047e629)
  • fix(session): better error handling on HTML extraction (ab15fa9)
  • feat: add more exports (e92343e)
  • chore: remove outdated comment (d268173)
  • feat: add base wrapper for creating discussions (d97cba5)
  • feat(recipients): add proper parser for creation discussion (0924e6c)
  • fix(api): naming (a37b3d3)
  • feat(types): more accurate user.data (b5c8d1f)
  • fix(types): add estPrincipal (b74883d)
  • feat(client): add authorizations property (1997871)
  • feat: add create discussion recipients fn constant (4371d61)
  • feat(api): add create discussion recipients (62f90c0)
  • fix!: reuse resource type instead of creating another enum (bdc5c38)
  • feat(client): add authorizations (1a9b43c)

License

  • chore(pkg): change license to GPL-3.0 (a25c826)
  • docs(LICENSE): use GPLv3 (5453b79)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.18.0

New

  • Support for fetchRecipients() in discussions, see 2399947.

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.17.1

Nothing new, just cleaning up docs.

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.17.0

New

  • Add total support for news : Information & Surveys
    • feat(select): add internals to read/create pronote selections (01e4a2a)
    • fix(newsStatus): global patch to enable edition for all news (c4b6f4e)
    • feat: support for surveys/questions and "other" choice type (a86019c)
    • feat: add TextInput question type (6ac28f0)

Breaking

  • refactor(client)!: rename name to title (f0b08a2)
  • fix(StudentNewsCategory)!: use false by default for default property (a193b84)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.16.0

Breaking Change

We're now using English words for account types, see ac6ae4d.

New stuff

Implementation of holidays on instance class Pronote, see 7d255d7 and the new example concerning holidays

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.15.0

TL;DR

  • Ability to get recipients of a message : BaseMessageRecipient and FetchedMessageRecipient
  • Ability to get subject and correction of a grade (if provided).
  • Ability to get in which folder is located a discussion (from a property in StudentDiscussion class)
  • New method : markAsRead() in StudentDiscussion class

Changelogs

  • feat!: handle hint_(gauche|droite) to build a dummy MessageRecipient type (8bf00e2)
  • feat(StudentMessage)!: simplify the properties (1d73e3b)
  • fix(grades/attachments): add internal genre to URL builder (390d8c9)
  • feat(grades): add subjectFile and correctionFile (31c05b9)
  • feat(discussions): add export in main (1b030b7)
  • feat(discussions): add markAsRead (e09d577)
  • fix: contents type of StudentLessonContent (1f61dc6)
  • feat: add call API function to get message recipients (b054dc6)
  • feat(StudentMessage)!: add new properties (a1edce7)
  • feat(api/news): add type for listePiecesJointes (3f2929c)
  • feat(api/messages): add types for listeDocumentsJoints (1bcfcb2)
  • feat: add ApiUserMessageRecipients (1d5e900)
  • feat(StudentDiscussion): add folders (640e6e5)
  • feat: add enum for recipient type (989cc76)

- TypeScript
Published by Vexcited almost 2 years ago

pawnote - v0.14.1

Minor changes

  • fix(session): do string search only if JSON is incorrect (3d491e9)

Security

  • chore: merge pull request #2 from LiterateInk/dependabot/npmandyarn/ip-1.1.9 (8e29471)
  • chore(deps-dev): bump ip from 1.1.8 to 1.1.9 (4368387)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.14.0

New

  • feat(news): add attachments in questions (5c043d8)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.13.3

  • refactor: abbrevationValue -> abbrevation (75aa593)
  • fix: use Period type directly (5e52211)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.13.2

  • feat(StudentPunishment): add title (2de4bf3)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.13.1

Breaking change

On StudentPunishment the reason got moved to reasons because multiple reasons can be given.

  • fix!(attendance): reason -> reasons (f5555d0)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.13.0

New

getAttendance() and getDiscussionsOverview() in client.

  • fix!: add period fetching for getEvaluations (43f64d8)
  • feat!: add period fetching on grades (1431520)
  • refactor: rename to attendance (cb1c8e6)
  • feat(client): add attendanceOverview (5322c84)
  • feat!: add periods for onglets (1121ecc)
  • feat(Period): add redirection to main .getAttendanceOverviewForPeriod() (8838272)
  • feat: add attendance onglets and function name (29bb65b)
  • feat: add wip types for attendance (87bfc11)
  • feat: add messages support in discussions (3c59c84)
  • feat: add wip for discussions (609421f)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.12.0

New

  • fix: remove views since useless on student account (671a98e)
  • feat: add getNews and base for related parsers (bcb1ef5)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.11.2

  • fix: set default week number to 1 if 0 (97d4220)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.11.1

New

  • feat(homework): add themes (892b70d)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.11.0

Breaking

  • fix: type on main getResources... calls (2b31941)

New

  • feat(homework): add return type and info (39d4dcc)
  • feat: add more exports (345e78b)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.10.1

New

  • feat(client): add public endDay (b61f190)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.10.0

New

  • implement getResourcesForInterval (8a08e32)
  • implement getLessonResource and getLessonHomework (338adf7)
  • implement constants for categories, single fetch resource and themes (b2b3f38)
  • implement a single lesson fetch for its resource (2638988)
  • implement a single lesson fetch for homework (34b4c71)
  • implement student resources page (82bde48)
  • implement queueing for requests (0ca76f6)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.9.0

  • chore(lint): fix (2304475)
  • feat: add Presence requests (3ae158d)
  • fix(examples): show not available when overall grades are hidden (5fe3a69)
  • fix: overall grades when not shown (693ffa8)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.8.1

Minor / Draft feature

  • feat(NetworkFail): add error handler (f417443)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.8.0

  • docs: typo (32c6380)
  • docs: update features list (37c20fb)
  • docs(examples): add example for getPersonalInformation() (6e514cf)
  • chore(lint): fix (58fbf0c)
  • feat: personal information and more exports (f2488c9)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.7.0

New

  • Implement instance information getter (2ea9cf8)

API : getPronoteInstanceInformation(fetcher, { pronoteURL })

Allows to get information about an instance before logging in.

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.6.0

New

  • Implemented QRCode + Pin authentication (2780f93)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.5.0

New

  • Add evaluations support (010e557)
  • Add global averages (for class and student) inside grades overview (d3a788d)

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.4.1

Bugfix

Custom fetcher wasn't used inside page downloader which resulted in CORS error in a Tauri app, for example.

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.4.0

  • Implement custom fetcher for every API call to Pronote (a36a500)

Breaking

findPronoteInstances({ latitude, longitude }) now becomes findPronoteInstances(fetcher, { latitude, longitude }) where fetcher is type PawnoteFetcher.

If you want to use fetch (so keep default fetcher), you can do this : typescript import { defaultPawnoteFetcher } from "pawnote"; // and use it directly... findPronoteInstances(defaultPawnoteFetcher, { latitude, longitude });

New

fetcher property in authenticate functions (so authenticatePronoteCredentials and authenticateToken). If the fetcher is not given, it'll use the default fetcher which is defaultPawnoteFetcher.

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.3.0

  • Implemented averages, next to grades (ab3d994)
    • Adds a new StudentAverage parser
  • Renamed getGrades to getGradesOverview for Period class.
  • Renamed getGradesForPeriod to getGradesOverviewForPeriod for Pronote class.

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.2.0

  • Grades implemented (b0e88bf)
  • Translate to English possible errors on authentication

- TypeScript
Published by Vexcited about 2 years ago

pawnote - v0.1.0

Initial release including partial support for Pronote's student accounts.

Functions exported

  • findPronoteInstances
  • authenticatePronoteCredentials
  • authenticateToken

Pronote class methods

  • getAESEncryptionKeys
  • getLessonsForInterval
  • getTimetableForWeek
  • getHomeworkForInterval
  • getHomeworkForWeek
  • patchHomeworkStatus

- TypeScript
Published by Vexcited about 2 years ago